1 .TH GROFF_MOM @MAN7EXT@ "@MDATE@" "Groff Version @VERSION@"
3 groff_mom \- groff `mom' macros, `mom' is a `roff' language, part of `groff'
5 .\" The .SH was moved to this place in order to appease `apropos'.
7 .\" --------------------------------------------------------------------
9 .\" --------------------------------------------------------------------
12 Copyright \[co] 2002-2014 Free Software Foundation, Inc.
14 This file is part of groff, a free software project.
16 You can redistribute it and/or modify it under the terms of the GNU
17 General Public License as published by the "Free Software Foundation",
18 either version 3 of the License, or (at your option) any later
21 You should have received a copy of the GNU General Public License
22 along with groff, see the files COPYING and LICENSE in the top
23 directory of the groff Text source package.
27 You can also visit <http://www.gnu.org/licenses/>.
32 .MT peter@schaffter.ca
40 PDF support was provided by
41 .MT deri@chuzzlewit.demon.co.uk
45 The alphabetical documentation of macros and escape seqauences in this
46 man\-page were written by the
51 .\" --------------------------------------------------------------------
53 .\" --------------------------------------------------------------------
55 .ds Ellipsis \&.\|.\|.\&\"
60 .\" --------------------------------------------------------------------
61 .\" .FONT (<font name> <text> [<font name> <text> ...])
63 .\" Print in different fonts: R, I, B, CR, CI, CB
66 . if (\\n[.$] = 0) \{\
71 . while (\\n[.$] >= 2) \{\
72 . as result \,\f[\\$1]\\$2
73 . if !"\\$1"P" .as result \f[P]\""
76 . if (\\n[.$] = 1) .as result \,\f[\\$1]
83 .do nr groff_mom_C \n[.C]
93 .\" --------------------------------------------------------------------
95 .\" --------------------------------------------------------------------
98 .OP \-Tps "\fR[pdfroff options]"
100 .I files \*[Ellipsis]
105 .I files \*[Ellipsis]
114 .\" --------------------------------------------------------------------
116 .\" --------------------------------------------------------------------
121 designed primarily to format documents for
130 provides two categories of macros: macros for typesetting, and
131 macros for document processing.
133 The typesetting macros provide access to groff\[aq]s typesetting
134 capabilities in ways that are simpler to master than groff\[aq]s
137 The document processing macros provide highly customizable markup
138 tags that allow the user to design and output professional-looking
139 documents with a minimum of typesetting intervention.
144 .BR pdfmom (@MAN1EXT@)
151 The documents include a
153 outline that appears in the \[oq]Contents\[cq] panel of document
154 viewers, and may contain clickable internal and external links.
166 is used to generate the output.
168 When given, the output is still
170 but processing is passed over to
178 features are available when
180 is given; its primary use is to allow processing of files with
198 comes with her own very complete documentation in
214 .\" --------------------------------------------------------------------
216 .\" --------------------------------------------------------------------
220 \[en] the main macro file
223 \[en] a wrapper file that calls om.tmac directly.
226 .B \%@HTMLDOCDIR@/\:mom/\:toc.html
227 \[en] entry point to the HTML documentation
230 .B \%@PDFDOCDIR@/\:mom-pdf.pdf
231 \[en] the PDF manual,
232 .I Producing PDFs with groff and mom
235 .B @EXAMPLEDIR@/mom/*.mom
236 \[en] example files using mom
239 .\" --------------------------------------------------------------------
240 .SH DOCUMENTATION IN ALPHABETICAL ORDER
241 .\" --------------------------------------------------------------------
244 This part of the man-page contains information just as in groff(7),
247 .I mom escape sequences
248 in alphabetical order.
255 .I mom escape sequences
256 is very well documented in
259 .B \%@HTMLDOCDIR@/\:mom/\:toc.html
260 \[en] entry point to the HTML documentation
264 That document is quite good for beginners, but other users should be
265 happy to have some documentation in reference style.
269 So we restrict this part to the alphabetical order of macros and
272 But, so far, we took all documentation details from the
274 file, just in a more useful alphabetical order.
277 So this part of the man-page is nothing new, but only a logical
281 .\" --------------------------------------------------------------------
282 .SH "QUICK REFERENCE"
283 .\" --------------------------------------------------------------------
285 .\" --------------------------------------------------------------------
286 .SS "Quick Reference of Inline Escape Sequences in alphabetical Order"
287 .\" --------------------------------------------------------------------
290 .FONT B \[rs]*[ I <colorname> B ]
291 begin using an initialized colour inline
295 .FONT B \[rs]*[BCK I " n" B ]
296 move backwards in a line
301 invoke pseudo bold inline (related to macro
307 off pseudo bold inline (related to macro
312 .FONT B \[rs]*[BU I " n" B ]
313 move characters pairs closer together inline (related to macro
319 invoke pseudo condensing inline (related to macro
325 off pseudo condensing inline (related to macro
330 .FONT B \[rs]*[CONDSUP] R \*[Ellipsis] B \[rs]*[CONDSUPX]
331 pseudo-condensed superscript
335 .FONT B \[rs]*[DOWN I " n" B ]
336 temporarily move downwards in a line
341 mark initial line of a range of line numbers (for use with line
347 invoke pseudo extending inline (related to macro
353 off pseudo condensing inline (related to macro
358 .FONT B \[rs]*[EXTSUP] R \*[Ellipsis] B \[rs]*[EXTSUPX]
359 pseudo extended superscript
363 .FONT B \[rs]*[FU I " n" B ]
364 move characters pairs further apart inline (related to macro
369 .FONT B \[rs]*[FWD I " n" B ]
370 move forward in a line
375 insert leaders at the end of a line
380 draw a full measure rule
384 .FONT B \[rs]*[SIZE I " n" B ]
385 change the point size inline (related to macro
391 invoke pseudo italic inline (related to macro
397 off pseudo italic inline (related to macro
402 .FONT B \[rs]*[ST I <n> B ] R \*[Ellipsis] B \[rs]*[ST I <n> B X]
403 string tabs (mark tab positions inline)
407 .FONT B \[rs]*[SUP] R \*[Ellipsis] B \[rs]*[SUPX]
419 .FONT B \[rs]*[UL] R \*[Ellipsis] B \[rs]*[ULX]
420 invoke underlining inline (fixed width fonts only)
424 .FONT B \[rs]*[UP I " n" B ]
425 temporarily move upwards in a line
428 .\" --------------------------------------------------------------------
429 .SS "Quick Reference of Macros in alphabetical Order"
430 .\" --------------------------------------------------------------------
434 set the linespacing relative to the point size
444 break a justified line
449 set line-by-line quad centre
454 set the amount to pseudo condense
459 break a line without advancing on the page
464 set the amount to pseudo extend
469 establish a fallback font (for missing fonts)
479 .BI ".FAMILY " <family>
486 set the font style (roman, italic, etc.)
490 .BI ".HI [" " <measure> " ]
496 automatic hyphenation on/off
501 set automatic hyphenation parameters
505 .BI ".IB [" " <left measure> <right measure> " ]
515 .BI ".IL [" " <measure> " ]
530 .BI ".IR [" " <measure> " ]
541 justify text to both margins
546 automatic character pair kerning on/off
551 set a left margin (page offset)
556 set line-by-line quad left
566 set a linespacing (leading)
571 set explicit page dimensions and margins
576 set a custom page width
581 set a custom page length
585 .BI .PAPER " <paper_type>"
586 set common paper sizes (letter, A4, etc)
596 "justify" text left, centre, or right
606 set line-by-line quad right
611 set the amount of emboldening
616 set the degree of slant
626 set the sentence space size
635 .BI ".TI [" " <measure> " ]
636 temporary left indent
641 set the minimum word space size
644 .\" --------------------------------------------------------------------
645 .SH "DOCUMENTATION OF DETAILS"
646 .\" --------------------------------------------------------------------
648 .\" --------------------------------------------------------------------
649 .SS "Details of Inline Escape Sequences in alphabetical Order"
650 .\" --------------------------------------------------------------------
653 .FONT B \[rs]*[ I <colorname> B ]
654 begin using an initialized colour inline
658 .FONT B \[rs]*[BCK I " n" B ]
662 .\" ======================================================================
664 .\" ======================================================================
675 begins emboldening type.
678 turns the feature off.
680 Both are inline escapes, therefore they should not appear as separate
681 lines, but rather be embedded in text lines, like this:
684 .FONT R "Not " B \[rs]*[BOLDER] R everything B \[rs]*[BOLDERX] R " is as it seems."
689 Alternatively, if you wanted the whole line emboldened, you should do
692 .FONT B \[rs]*[BOLDER] R "Not everything is as it seems." B \[rs]*[BOLDERX]
698 is invoked, it remains in effect until turned off.
701 Note: If you\[aq]re using the document processing macros with
702 .BR "\%.PRINTSTYLE \%TYPEWRITE" ,
711 .\" ======================================================================
713 .\" ======================================================================
715 .FONT B \[rs]*[BU I " n" B ]
716 move characters pairs closer together inline (related to macro
720 .\" ======================================================================
722 .\" ======================================================================
727 Pseudo-condensing on/off
733 begins pseudo-condensing type.
736 turns the feature off.
738 Both are inline escapes, therefore they should not appear as separate
739 lines, but rather be embedded in text lines, like this:
742 .FONT B \[rs]*[COND] I "Not everything is as it seems." B \[rs]*[CONDX]
746 remains in effect until you turn it off with
747 .BR \%\[rs]*[CONDX] .
750 IMPORTANT: You must turn
752 off before making any changes to the point size of your type, either
759 If you wish the new point size to be pseudo-condensed, simply reinvoke
765 must be turned off before changing the condense percentage with
769 Note: If you\[aq]re using the document processing macros with
770 .BR "\%.PRINTSTYLE \%TYPEWRITE" ,
779 .\" ======================================================================
781 .\" ======================================================================
783 .FONT B \[rs]*[CONDSUP] R \*[Ellipsis] B \[rs]*[CONDSUPX]
784 pseudo-condensed superscript
787 .\" ======================================================================
789 .\" ======================================================================
791 .FONT B \[rs]*[DOWN I " n" B ]
792 temporarily move downwards in a line
795 .\" ======================================================================
797 .\" ======================================================================
800 mark initial line of a range of line numbers (for use with line
804 .\" ======================================================================
806 .\" ======================================================================
811 Pseudo-extending on/off
817 begins pseudo-extending type.
820 turns the feature off.
822 Both are inline escapes, therefore they should not appear as separate
823 lines, but rather be embedded in text lines, like this:
826 .FONT B \[rs]*[EXT] I "Not everything is as it seems." B \[rs]*[EXTX]
830 remains in effect until you turn it off with
834 IMPORTANT: You must turn
836 off before making any changes to the point size of your type, either
843 If you wish the new point size to be
844 .IR \%pseudo-extended ,
851 must be turned off before changing the extend percentage with
855 Note: If you are using the document processing macros with
856 .BR "\%.PRINTSTYLE \%TYPEWRITE" ,
865 .\" ======================================================================
867 .\" ======================================================================
869 .FONT B \[rs]*[EXTSUP] R \*[Ellipsis] B \[rs]*[EXTSUPX]
870 pseudo extended superscript
873 .\" ======================================================================
875 .\" ======================================================================
877 .FONT B \[rs]*[FU I " n" B ]
878 move characters pairs further apart inline (related to macro
882 .\" ======================================================================
884 .\" ======================================================================
886 .FONT B \[rs]*[FWD I " n" B ]
887 move forward in a line
890 .\" ======================================================================
892 .\" ======================================================================
895 insert leaders at the end of a line
898 .\" ======================================================================
900 .\" ======================================================================
903 draw a full measure rule
906 .\" ======================================================================
908 .\" ======================================================================
910 .FONT B \[rs]*[SIZE I " n" B ]
911 change the point size inline (related to macro
915 .\" ======================================================================
917 .\" ======================================================================
929 .I pseudo-italicizing
933 turns the feature off.
938 therefore they should not appear as separate lines, but rather be
939 embedded in text lines, like this:
942 .FONT R "Not " B \[rs]*[SLANT] R everything B \[rs]*[SLANTX] R " is as it seems."
947 Alternatively, if you wanted the whole line
948 .IR pseudo-italicized ,
952 .FONT B \[rs]*[SLANT] R "Not everything is as it seems." B \[rs]*[SLANTX]
959 is invoked, it remains in effect until turned off.
962 Note: If you\[aq]re using the document processing macros with
963 .BR "\%.PRINTSTYLE \%TYPEWRITE" ,
965 underlines pseudo-italics by default.
967 To change this behaviour, use the special macro
968 .BR .SLANT_MEANS_SLANT .
973 .\" ======================================================================
975 .\" ======================================================================
977 .FONT B \[rs]*[ST I <number> B ] R \*[Ellipsis] B \[rs]*[ST I <number> B X]
978 Mark positions of string tabs
996 in order for these inlines to function properly.
1003 String tabs need to be marked off with inline escapes before being set
1008 Any input line may contain string tab markers.
1011 above, means the numeric identifier of the tab.
1014 The following shows a sample input line with string tab markers.
1017 .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."
1024 begins at the start of the line and ends after the word
1040 or horizontal movements, including padding) are taken into account
1052 Up to nineteen string tabs may be marked (not necessarily all on the
1053 same line, of course), and they must be numbered between 1 and 19.
1056 Once string tabs have been marked in input lines, they have to be
1060 after which they may be called, by number, with
1064 Note: Lines with string tabs marked off in them are normal input
1065 lines, i.e.\& they get printed, just like any input line.
1067 If you want to set up string tabs without the line printing, use the
1075 processes input lines and turns them into output lines, it is not
1080 the correct starting position of string tabs marked off in lines that
1081 are centered or set flush right.
1084 Equally, she cannot guess the starting position if a line is fully
1085 justified and broken with
1089 In other words, in order to use string tabs,
1091 must be active, or, if
1095 are active, the line on which the
1097 are marked must be broken
1105 To circumvent this behaviour, I recommend using the
1107 to set up string tabs in centered or flush right lines.
1109 Say, for example, you want to use a
1113 the text of a centered line with a rule.
1119 .B \[rs]*[ST1]A line of text\[rs]*[ST1X]\[rs]c
1134 .B .PAD """#\[rs]*[ST1]A line of text\[rs]*[ST1X]#"""
1140 .B \[rs]*[RULE] \[rs]" Note that you can\[aq]t use \[rs]*[UP] or \[rs]*[DOWN] with \[rs]*[RULE]\""
1149 .\" ======================================================================
1151 .\" ======================================================================
1153 .FONT B \[rs]*[SUP] R \*[Ellipsis] B \[rs]*[SUPX]
1157 .\" ======================================================================
1159 .\" ======================================================================
1167 .\" ======================================================================
1169 .\" ======================================================================
1171 .FONT B \[rs]*[UL] R \*[Ellipsis] B \[rs]*[ULX]
1172 invoke underlining inline (fixed width fonts only)
1175 .\" ======================================================================
1177 .\" ======================================================================
1179 .FONT B \[rs]*[UP I " n" B ]
1180 temporarily move upwards in a line
1183 .\" --------------------------------------------------------------------
1184 .SS "Details of Macros in alphabetical Order"
1185 .\" --------------------------------------------------------------------
1187 .\" ======================================================================
1189 .\" ======================================================================
1192 set the linespacing relative to the point size
1195 .\" ======================================================================
1197 .\" ======================================================================
1199 .BI .B_MARGIN " <bottom margin>"
1205 Requires a unit of measure
1209 sets a nominal position at the bottom of the page beyond which you
1210 don\[aq]t want your type to go.
1212 When the bottom margin is reached,
1216 .B .B_MARGIN requires a unit of measure.
1218 Decimal fractions are allowed.
1220 To set a nominal bottom margin of 3/4 inch, enter
1223 .B \&.B_MARGIN \&.75i
1228 Obviously, if you haven\[aq]t spaced the type on your pages so that the
1229 last lines fall perfectly at the bottom margin, the margin will vary
1232 Usually, but not always, the last line of type that fits on a page
1233 before the bottom margin causes mom to start a new page.
1236 Occasionally, owing to a peculiarity in
1238 an extra line will fall below the nominal bottom margin.
1240 If you\[aq]re using the document processing macros, this is unlikely to
1241 happen; the document processing macros are very hard-nosed about
1242 aligning bottom margins.
1245 Note: The meaning of
1247 is slightly different when you\[aq]re using the document processing
1253 .\" ======================================================================
1255 .\" ======================================================================
1257 .BI \%.FALLBACK_FONT " <fallback font> " "[ ABORT | WARN ]"
1263 In the event that you pass an invalid argument to
1265 (i.e.\& a non-existent
1268 by default, uses the
1269 .IR "fallback font" ,
1270 .B Courier Medium Roman
1272 in order to continue processing your file.
1275 If you\[aq]d prefer another
1276 .IR "fallback font" ,
1285 For example, if you\[aq]d rather the
1288 .BR "Times Roman Medium Roman" ,
1291 .B .FALLBACK_FONT TR
1298 issues a warning whenever a
1302 does not exist, either because you haven\[aq]t registered the style
1305 does not exist in the current
1312 then aborts, which allows you to correct the problem.
1315 If you\[aq]d prefer that
1317 not abort on non-existent
1319 but rather continue processing using a
1320 .IR "fallback font" ,
1325 either by itself, or in conjunction with your chosen
1326 .IB "fallback font" .
1329 Some examples of invoking
1330 .BR \%.FALLBACK_FONT :
1333 .B .FALLBACK_FONT WARN
1335 will issue a warning whenever you try to access a non-existent
1337 but will continue processing your file with the default
1338 .IR "fallback font" ,
1339 .BR "Courier Medium Roman" .
1343 .B .FALLBACK_FONT TR WARN
1345 will issue a warning whenever you try to access a non-existent
1347 but will continue processing your file with a
1350 .BR "Times Roman Medium Roman" ;
1355 whenever you try to access a
1357 that does not exist.
1360 .B .FALLBACK_FONT TR ABORT
1362 will abort whenever you try to access a non-existent
1367 whenever you try to access a
1369 that does not exist.
1371 If, for some reason, you want to revert to
1374 .B \%".FALLBACK_FONT ABORT"
1377 will once again abort on
1383 .\" ======================================================================
1385 .\" ======================================================================
1387 .BI .FAM " <family>"
1388 Type Family, alias of \fB.FAMILY\fR
1391 .\" ======================================================================
1393 .\" ======================================================================
1395 .BI .FAMILY " <family>"
1396 Type Family, alias \fB.FAM\fR
1402 takes one argument: the name of the
1407 comes with a small set of basic families, each identified by a 1-,
1408 2- or 3-letter mnemonic.
1410 The standard families are:
1413 .B "A = Avant Garde"
1416 .B "HN = Helvetica Narrow"
1417 .B "N = New Century Schoolbook"
1419 .B "T = Times Roman"
1420 .B "ZCM = Zapf Chancery"
1425 The argument you pass to
1427 is the identifier at left, above.
1429 For example, if you want
1439 Note: The font macro
1441 lets you specify both the type
1443 and the desired font with a single macro.
1445 While this saves a few
1446 keystrokes, I recommend using
1452 except where doing so is genuinely inconvenient.
1456 only exists in one style:
1467 makes more sense than setting the
1477 Additional note: If you are running a version of groff lower than
1478 1.19.2, you must follow all
1484 will set all type up to the next
1486 request in the fallback font.
1489 If you are running a version of groff greater than or equal to 1.19.2,
1498 etc) currently in use (if the font style exists in the new
1500 and will continue to use the same font style in the new family.
1504 .BI ".FAMILY BM " "\[rs]"" Bookman family"
1505 .BI ".FT I " "\[rs]"" Medium Italic"
1506 .I <some text> \[rs]" Bookman Medium Italic
1507 .BI ".FAMILY H " "\[rs]"" Helvetica family"
1508 .I <more text> \[rs]" Helvetica Medium Italic
1513 However, if the font style does not exist in the new family,
1515 will set all subsequent type in the fallback font (by default,
1518 until she encounters a
1520 request that\[aq]s valid for the
1524 For example, assuming you don\[aq]t have the font
1525 .B Medium Condensed Roman
1534 .BI ".FAMILY UN " "\[rs]"" Univers family"
1535 .BI ".FT CD " "\[rs]"" Medium Condensed"
1536 .I <some text> \[rs]" Univers Medium Condensed
1537 .BI ".FAMILY H " "\[rs]"" Helvetica family"
1538 .I <more text> \[rs]" Courier Medium Roman!
1543 In the above example, you must follow
1547 request that\[aq]s valid for
1551 Please see the Appendices,
1554 for information on adding fonts and families to groff, as well as to
1555 see a list of the extensions
1567 Suggestion: When adding
1570 I recommend following the established standard for the naming families
1573 For example, if you add the
1575 family, name the font files
1585 .B GARAMOND then becomes a valid
1590 (You could, of course, shorten
1614 .\" ======================================================================
1616 .\" ======================================================================
1618 .BI ".FONT R | B | BI | " "<any other valid font style>"
1623 .\" ======================================================================
1625 .\" ======================================================================
1627 .BI ".FT R | B | BI | " "<any other valid font style>"
1637 to take one of four possible arguments specifying the desired font:
1640 .B R = (Medium) Roman
1641 .B I = (Medium) Italic
1648 For example, if your
1672 considerably extends the range of arguments you can pass to
1674 making it more convenient to add and access fonts of differing weights
1675 and shapes within the same family.
1678 Have a look here for a list of the weight/style arguments
1682 Be aware, though, that you must have the fonts, correctly installed
1683 and named, in order to use the arguments.
1686 .I Adding fonts to groff
1687 for instructions and information.)
1689 Please also read the
1691 found in the description of the
1698 reacts to an invalid argument to
1700 depends on which version of groff you\[aq]re using.
1704 is greater than or equal to 1.19.2,
1706 will issue a warning and, depending on how you\[aq]ve set up the fallback
1707 font, either continue processing using the fallback font, or abort
1708 (allowing you to correct the problem). If your
1710 is less than 1.19.2,
1712 will silently continue processing, using either the fallback font or
1713 the font that was in effect prior to the invalid
1719 will also accept, as an argument, a full
1732 will set subsequent type in
1737 However, I strongly recommend keeping
1741 separate except where doing so is genuinely inconvenient.
1744 For inline control of
1754 .\" ======================================================================
1756 .\" ======================================================================
1758 .BI "\%.HI [" " <measure> " ]
1759 Hanging indent \[em] the optional argument requires a unit of measure.
1764 A hanging indent looks like this:
1767 \fB The thousand injuries of Fortunato I had borne as best I
1768 could, but when he ventured upon insult, I vowed
1769 revenge. You who so well know the nature of my soul
1770 will not suppose, however, that I gave utterance to a
1771 threat, at length I would be avenged\*[Ellipsis]
1775 The first line of text
1782 .IR "hanging indents" ,
1783 you must first have a
1785 active (set with either
1791 will not hang text outside the
1801 The first time you invoke
1806 If you want the first line of a paragraph to
1818 Subsequent invocations of
1820 do not require you to supply a
1823 keeps track of the last measure you gave it.
1826 Generally speaking, you should invoke
1828 immediately prior to the line you want hung (i.e.\& without any
1829 intervening control lines).
1833 affect only one line, there\[aq]s no need to turn them off.
1846 Each time you pass a measure to
1848 the measure is treated literally.
1852 A numbered list using
1858 has macros for setting lists.
1860 This recipe exists to demonstrate the use of
1865 .B ".PAGE 8.5i 11i 1i 1i 1i 1i"
1873 .B ".IL \[rs]w'\[rs]0\[rs]0.'"
1874 .B ".HI \[rs]w'\[rs]0\[rs]0.'"
1875 \fB1.\[rs]0The most important point to be considered is whether the
1876 answer to the meaning of Life, the Universe, and Everything
1877 really is 42. We have no-one\[aq]s word on the subject except
1880 2.\[rs]0If the answer to the meaning of Life, the Universe,
1881 and Everything is indeed 42, what impact does this have on
1882 the politics of representation? 42 is, after all not a
1883 prime number. Are we to infer that prime numbers don\[aq]t
1884 deserve equal rights and equal access in the universe?
1886 3.\[rs]0If 42 is deemed non-exclusionary, how do we present it
1887 as the answer and, at the same time, forestall debate on its
1888 exclusionary implications?
1893 First, we invoke a left indent with a measure equal to the width of 2
1894 figures spaces plus a period (using the \[rs]w inline escape).
1896 At this point, the left indent is active; text afterwards would
1897 normally be indented.
1899 However, we invoke a hanging indent of exactly the same width, which
1900 hangs the first line (and first line only!\&) to the left of the indent
1901 by the same distance (in this case, that means \[lq]out to the left
1904 Because we begin the first line with a number, a period, and a figure
1905 space, the actual text
1906 .RI ( "The most important point\*[Ellipsis]" )
1907 starts at exactly the same spot as the indented lines that follow.
1910 Notice that subsequent invocations of
1917 Paste the example above into a file and preview it with
1920 .B pdfmom filename.mom | ps2pdf \- filename.pdf
1923 to see hanging indents in action.
1928 .\" ======================================================================
1929 .\" IB - INDENT BOTH
1930 .\" ======================================================================
1932 .BI "\%.IB [" " <left measure> <right measure> " ]
1933 Indent both \[em] the optional argument requires a unit of measure
1939 allows you to set or invoke a left and a right indent at the same time.
1942 At its first invocation, you must supply a measure for both indents;
1943 at subsequent invocations when you wish to supply a measure, both must
1950 the measures are added to the values previously passed to the
1953 Hence, if you wish to change just one of the values, you must give an
1954 argument of zero to the other.
1957 .I A word of advice:
1958 If you need to manipulate left and right indents separately, use a
1966 You\[aq]ll save yourself a lot of grief.
1971 may be prepended to the arguments to subtract from their current
1974 The \[rs]w inline escape may be used to specify text-dependent
1975 measures, in which case no unit of measure is required.
1980 .B .IB \[rs]w\[aq]margarine\[aq] \[rs]w\[aq]jello\[aq]
1983 left indents text by the width of the word
1985 and right indents by the width of
1994 with no argument indents by its last active values.
1996 See the brief explanation of how mom handles indents for more details.
2004 automatically cancels any active indents.
2010 automatically turns off
2018 .\" ======================================================================
2019 .\" IL - INDENT LEFT
2020 .\" ======================================================================
2022 .BI "\%.IL [" " <measure> " ]
2023 Indent left \[em] the optional argument requires a unit of measure
2029 indents text from the left margin of the page, or if you\[aq]re in a
2031 from the left edge of the
2038 is applied uniformly to every subsequent line of text, even if you
2039 change the line length.
2042 The first time you invoke
2044 you must give it a measure.
2046 Subsequent invocations with a measure add to the previous measure.
2048 A minus sign may be prepended to the argument to subtract from the
2053 inline escape may be used to specify a text-dependent measure, in
2054 which case no unit of measure is required.
2059 .B .IL \[rs]w'margarine'
2062 indents text by the width of the word
2068 indents by its last active value.
2070 See the brief explanation of how
2072 handles indents for more details.
2080 automatically cancels any active indents.
2086 automatically turns off
2092 .\" ======================================================================
2093 .\" IQ - quit any/all indents
2094 .\" ======================================================================
2096 .BI "\%.IQ [" " <measure> " ]
2097 IQ \[em] quit any/all indents
2103 The original macro for quitting all indents was
2106 This usage has been deprecated in favour of
2110 will continue to behave as before, but
2112 will issue a warning to
2114 indicating that you should update your documents.
2117 As a consequence of this change,
2122 may now also be invoked as
2128 Both forms are acceptable.
2131 Without an argument, the macros to quit indents merely restore your
2132 original margins and line length.
2134 The measures stored in the indent macros themselves are saved so you
2135 can call them again without having to supply a measure.
2138 If you pass these macros the optional argument
2140 they not only restore your original left margin and line length, but
2141 also clear any values associated with a particular indent style.
2143 The next time you need an indent of the same style, you have to supply
2148 as you\[aq]d suspect, quits and clears the values for all indent
2154 .\" ======================================================================
2155 .\" IR - INDENT RIGHT
2156 .\" ======================================================================
2158 .BI "\%.IR [" " <measure> " ]
2159 Indent right \[em] the optional argument requires a unit of measure
2165 indents text from the
2167 of the page, or if you\[aq]re in a
2173 The first time you invoke
2175 you must give it a measure.
2177 Subsequent invocations with a measure add to the previous indent
2182 may be prepended to the argument to subtract from the current indent
2185 The \[rs]w inline escape may be used to specify a text-dependent
2186 measure, in which case no
2193 .B .IR \[rs]w'jello'
2196 indents text by the width of the word
2202 indents by its last active value.
2204 See the brief explanation of how
2206 handles indents for more details.
2214 automatically cancels any active indents.
2220 automatically turns off
2226 .\" ======================================================================
2228 .\" ======================================================================
2230 .BI .L_MARGIN " <left margin>"
2236 L_MARGIN establishes the distance from the left edge of the printer
2237 sheet at which you want your type to start.
2239 It may be used any time, and remains in effect until you enter a new value.
2242 Left indents and tabs are calculated from the value you pass to
2244 hence it\[aq]s always a good idea to invoke it before starting any serious
2247 A unit of measure is required.
2249 Decimal fractions are allowed.
2251 Therefore, to set the left margin at 3 picas (1/2 inch), you\[aq]d enter either
2265 If you use the macros
2272 (either before or afterwards),
2282 behaves in a special way when you\[aq]re using the document processing
2288 .\" ======================================================================
2289 .\" MCO - BEGIN MULTI-COLUMN SETTING
2290 .\" ======================================================================
2293 Begin multi-column setting.
2298 .RI ( "Multi-Column On" )
2302 .IR "multi-column setting" .
2304 It marks the current baseline as the top of your columns, for use
2308 See the introduction to columns for an explanation of
2310 and some sample input.
2318 macro in the document processing macros.
2323 .\" ======================================================================
2324 .\" MCR - RETURN TO TOP OF COLUMN
2325 .\" ======================================================================
2328 Once you\[aq]ve turned
2333 at any time, returns you to the
2334 .IR "top of your columns".
2337 .\" ======================================================================
2338 .\" MCX - EXIT MULTI-COLUMNS
2339 .\" ======================================================================
2341 .BI "\%.MCX [ " "<distance to advance below longest column>" " ]"
2342 Optional argument requires a unit of measure.
2348 takes you out of any
2350 you were in (by silently invoking
2352 and advances to the bottom of the longest column.
2355 Without an argument,
2359 below the longest column.
2362 Linespace, in this instance, is the leading in effect at the moment
2373 below the longest column (see above)
2375 the distance specified by the argument.
2377 The argument requires a unit of measure; therefore, to advance an
2378 extra 6 points below where
2380 would normally place you, you\[aq]d enter
2389 If you wish to advance a precise distance below the baseline of the
2396 required) in conjunction with the
2406 The above advances to precisely
2408 below the baseline of the longest column.
2413 .\" ======================================================================
2414 .\" Start a new Page
2415 .\" ======================================================================
2422 Whenever you want to start a new page, use
2424 by itself with no argument.
2427 will finish up processing the current page and move you to the top of
2428 a new one (subject to the top margin set with
2434 .\" ======================================================================
2436 .\" ======================================================================
2438 .BI ".PAGE " <width> " [ " <length> " [ " <lm> " [ " <rm> " [ " \
2439 <tm> " [ " <bm> " ] ] ] ] ]"
2444 All arguments require a unit of measure
2448 If you\[aq]re using the document processing macros,
2453 Otherwise, it should go at the top of a document, prior to any text.
2455 And remember, when you\[aq]re using the document processing macros, top
2456 margin and bottom margin mean something slightly different than when
2457 you\[aq]re using just the typesetting macros (see Top and bottom margins
2458 in document processing).
2462 lets you establish paper dimensions and page margins with a single
2465 The only required argument is page width.
2468 optional, but they must appear in order and you can\[aq]t skip over
2476 refer to the left, right, top and bottom margins respectively.
2479 Assuming your page dimensions are 11 inches by 17 inches, and that\[aq]s
2480 all you want to set, enter
2487 If you want to set the left margin as well, say, at 1 inch,
2489 would look like this:
2497 Now suppose you also want to set the top margin, say, at 1\(en1/2 inches.
2502 in the optional arguments, but you can\[aq]t skip over any arguments,
2503 therefore to set the top margin, you must also give a right margin.
2507 macro would look like this:
2510 \f[CB].PAGE 11i 17i 1i 1i 1.5i
2512 required right---+ +---top margin
2520 is best used when you want a convenient way to tell
2522 just the dimensions of your printer sheet (width and length), or when
2523 you want to tell her everything about the page (dimensions and all the
2524 margins), for example
2527 .B .PAGE 8.5i 11i 45p 45p 45p 45p
2531 This sets up an 8\(12 by 11 inch page with margins of 45 points
2532 (5/8-inch) all around.
2535 Additionally, if you invoke
2537 with a top margin argument, any macros you invoke after
2539 will almost certainly move the baseline of the first line of text down
2548 immediately before entering any text, or, if it\[aq]s feasible, make
2550 the last macro you invoke prior to entering text.
2555 on page dimensions and papersize for information on ensuring groff
2558 dimensions and margins.
2563 .\" ======================================================================
2565 .\" ======================================================================
2567 .BI .PAGELENGTH " <length of printer sheet>"
2570 how long your printer sheet is.
2580 your printer sheet is 11 inches long, you enter
2587 Please read the important note on page dimensions and papersize for
2588 information on ensuring groff respects your
2594 .\" ======================================================================
2596 .\" ======================================================================
2598 .BI .PAGEWIDTH " <width of printer sheet>"
2605 is the width of your printer sheet.
2609 requires a unit of measure.
2611 Decimal fractions are allowed.
2615 that the width of your printer sheet is 8\(12 inches, you enter
2623 Please read the Important note on page dimensions and papersize for
2624 information on ensuring groff respects your
2630 .\" ======================================================================
2632 .\" ======================================================================
2634 .BI .PAPER " <paper type>"
2635 provides a convenient way to set the page dimensions for some common
2636 printer sheet sizes.
2661 .\" ======================================================================
2662 .\" PT_SIZE - POINT SIZE OF TYPE
2663 .\" ======================================================================
2665 .BI .PT_SIZE " <size of type in points>"
2666 Point size of type, does not require a
2667 .IR "unit of measure" .
2673 .RI ( "Point Size" )
2674 takes one argument: the
2679 Unlike most other macros that establish the
2685 does not require that you supply a
2687 since it\[aq]s a near universal convention that
2692 Therefore, to change the
2738 then later reset it to
2749 can also be changed inline.
2753 It is unfortunate that the
2755 preprocessor has already taken the name, PS, and thus
2761 However, if you aren\[aq]t using
2763 you might want to alias
2767 since there\[aq]d be no conflict.
2772 .B .ALIAS PS PT_SIZE
2775 would allow you to set
2783 .\" ======================================================================
2785 .\" ======================================================================
2787 .BI .R_MARGIN " <right margin>"
2793 Requires a unit of measure.
2798 if used, must come after
2804 (if a right margin isn\[aq]t given to PAGE).
2808 calculates line length from the overall page dimensions and the left margin.
2811 Obviously, it can\[aq]t make the calculation if it doesn\[aq]t know the page
2812 width and the left margin.
2816 establishes the amount of space you want between the end of typeset
2817 lines and the right hand edge of the printer sheet.
2819 In other words, it sets the line length.
2821 requires a unit of measure.
2823 Decimal fractions are allowed.
2826 The line length macro (LL) can be used in place of
2829 In either case, the last one invoked sets the line length.
2831 The choice of which to use is up to you.
2833 In some instances, you may find it easier to think of a section of
2834 type as having a right margin.
2836 In others, giving a line length may make more sense.
2839 For example, if you\[aq]re setting a page of type you know should have
2840 6-pica margins left and right, it makes sense to enter a left and
2841 right margin, like this:
2850 That way, you don\[aq]t have to worry about calculating the line
2853 On the other hand, if you know the line length for a patch of type
2854 should be 17 picas and 3 points, entering the line length with LL is
2855 much easier than calculating the right margin, e.g.\&
2863 If you use the macros
2877 If you set a line length after these macros (with
2879 the line length calculated by
2881 is, of course, overridden.
2886 behaves in a special way when you\[aq]re using the document processing
2892 .\" ======================================================================
2893 .\" ST - Set String Tabs
2894 .\" ======================================================================
2896 .FONT B .ST I " <tab number> " B "L | R | C | J [ QUAD ]"
2902 have been marked off on an input line (see
2903 .BR \[rs]*[ST]\*[Ellipsis]\[rs]*[STX] ),
2906 them by giving them a direction and, optionally, the
2915 except that you don\[aq]t have to give
2917 an indent or a line length (that\[aq]s already taken care of, inline,
2919 .BR \[rs]*[ST]\*[Ellipsis]\[rs]*[STX] ).
2933 If you want it to be
2944 If you want it to be justified, enter
2954 .\" ======================================================================
2956 .\" ======================================================================
2958 .BI \%.TAB " <tab number>"
2961 have been defined (either with
2968 you pass it as an argument.
2985 breaks the line preceding it and advances 1 linespace.
2991 .B A line of text in tab 1.
2993 .B A line of text in tab 2.
2999 .B "A line of text in tab 1."
3000 .B " A line of text in tab 2."
3005 If you want the tabs to line up, use
3008 or, more conveniently, the inline escape \[rs]*[TB+]:
3012 A line of text in tab 1.\[rs]*[TB+]
3013 A line of text in tab 2.
3019 .B "A line of text in tab 1. A line of text in tab 2."
3024 If the text in your tabs runs to several lines, and you want the first
3025 lines of each tab to align, you must use the multi-column macros.
3029 Any indents in effect prior to calling a tab are automatically turned
3033 If you were happily zipping down the page with a left indent of
3035 turned on, and you call a
3037 whose indent from the left margin is
3039 your new distance from the
3044 I 6 picas plus the 2 pica
3049 are not by nature columnar, which is to say that if the text inside a
3051 runs to several lines, calling another
3053 does not automatically move to the baseline of the first line in the
3054 .IR "previous tab" .
3083 .\" ======================================================================
3084 .\" TB - Call Tabs Alias
3085 .\" ======================================================================
3087 .BI .TB " <tab number>"
3092 .\" ======================================================================
3093 .\" TI - TEMPORARY (LEFT) INDENT
3094 .\" ======================================================================
3096 .BI "\%.TI [" " <measure> " ]
3097 Temporary left indent \[em] the optional argument requires a
3103 A temporary indent is one that applies only to the first line of text
3104 that comes after it.
3106 Its chief use is indenting the first line of paragraphs.
3109 macro, for example, uses a
3110 .IR "temporary indent" .)
3113 The first time you invoke
3115 you must give it a measure.
3119 the first line of a paragraph by, say, 2 ems, do
3127 Subsequent invocations of
3129 do not require you to supply a measure;
3131 keeps track of the last measure you gave it.
3135 .I temporary indents
3136 are temporary, there\[aq]s no need to turn them off.
3149 In the following example, the second
3156 .B The beginning of a paragraph\*[Ellipsis]
3158 .B The beginning of another paragraph\*[Ellipsis]
3166 .\" ======================================================================
3168 .\" ======================================================================
3184 without advancing on the page.
3188 in the description of the
3190 macro for an example of how
3197 that aren\[aq]t given the
3199 argument when they\[aq]re set up with
3203 you must terminate the line preceding
3209 Conversely, if you did give a
3216 .B \[rs]c must not be used.
3219 If you find remembering whether to put in the
3221 bothersome, you may prefer to use the inline escape alternative
3225 which works consistently regardless of the fill mode.
3229 You must put text in the input line immediately after
3236 In other words, you cannot do
3242 Some more text\[rs]c
3249 The above example, assuming
3261 Some more text\[rs]c
3269 \[rs]& is a zero-width, non-printing character that
3271 recognizes as valid input, hence meets the requirement for input text
3278 .\" ======================================================================
3280 .\" ======================================================================
3284 takes you out of whatever
3286 you were in, advances
3294 that were in effect prior to invoking any
3298 .\" ======================================================================
3300 .\" ======================================================================
3302 .BI .T_MARGIN " <top margin>"
3308 Requires a unit of measure
3312 establishes the distance from the top of the printer sheet at which
3313 you want your type to start.
3315 It requires a unit of measure, and decimal fractions are allowed.
3317 To set a top margin of 2\(12 centimetres, you\[aq]d enter
3325 calculates the vertical position of the first line of type on a page
3326 by treating the top edge of the printer sheet as a baseline.
3333 puts the baseline of the first line of type 1\(12 inches beneath the
3339 means something slightly different when you\[aq]re using the document
3342 See Top and bottom margins in document processing for an explanation.
3347 does two things: it establishes the top margin for pages that come
3348 after it and it moves to that position on the current page.
3352 should only be used at the top of a file (prior to entering text) or
3353 after NEWPAGE, like this:
3365 .\" --------------------------------------------------------------------
3367 .\" --------------------------------------------------------------------
3369 .BR groff (@MAN1EXT@),
3370 .BR groff_mom (@MAN7EXT@),
3373 .B \%@HTMLDOCDIR@/\:mom/\:toc.html
3374 \[en] entry point to the HTML documentation
3377 .UR http://\:www.schaffter.ca/\:mom/\:momdoc/\:toc.html
3379 \[en] HTML documentation online
3382 .UR http://\:www.schaffter.ca/\:mom/
3384 \[en] the mom macros homepage
3387 .\" --------------------------------------------------------------------
3389 .\" --------------------------------------------------------------------
3391 Please send bug reports to the
3392 .MT bug-groff@gnu.org
3393 groff-bug mailing list
3395 or directly to the authors.
3398 .\" --------------------------------------------------------------------
3400 .\" --------------------------------------------------------------------
3402 .\" --------------------------------------------------------------------
3404 .\" --------------------------------------------------------------------
3410 .\" --------------------------------------------------------------------
3412 .\" --------------------------------------------------------------------
3414 .\" Local Variables: