Margin settings
Reg. Definition Effective Default PO Page offset (left margin) next page 1i LL Line length next paragraph 6i LT Header/footer length next paragraph 6i HM Top (header) margin next page 1i FM Bottom (footer) margin next page 1i
Text settings
Reg. Definition Effective Default PS Point size next paragraph 10p VS Line spacing (leading) next paragraph 12p PSINCR Point size increment for section headings of increasing importance next heading 1p GROWPS Heading level beyond which PSINCR is ignored next heading 0
Paragraph settings
Reg. Definition Effective Default PI Initial indent next paragraph 5n PD Space between paragraphs next paragraph 0.3v QI Quoted paragraph indent next paragraph 5n PORPHANS Number of initial lines to be kept together next paragraph 1 HORPHANS Number of initial lines to be kept with heading next heading 1
Footnote settings
Reg. Definition Effective Default FL Footnote length next footnote [rs]n[LL]*5/6 FI Footnote indent next footnote 2n FF Footnote format next footnote 0 FPS Point size next footnote [rs]n[PS]-2 FVS Vert. spacing next footnote [rs]n[FPS]+2 FPD Para. spacing next footnote [rs]n[PD]/2
Other settings
Reg. Definition Effective Default DD Display, table, eqn, pic spacing next para. 0.5v MINGW Minimum width between columns next page 2n
The QP macro indents all text at both left and right margins. The effect is identical to the HTML <BLOCKQUOTE> element. The next paragraph or heading returns margins to normal.
The XP macro produces an exdented paragraph. The first line of the paragraph begins at the left margin, and subsequent lines are indented (the opposite of PP).
For each of the above paragraph types, and also for any list entry introduced by the IP macro (described later), the document control register PORPHANS, sets the minimum number of lines which must be printed, after the start of the paragraph, and before any page break occurs. If there is insufficient space remaining on the current page to accommodate this number of lines, then a page break is forced before the first line of the paragraph is printed.
Similarly, when a section heading (see subsection Headings below) precedes any of these paragraph types, the HORPHANS document control register specifies the minimum number of lines of the paragraph which must be kept on the same page as the heading. If insufficient space remains on the current page to accommodate the heading and this number of lines of paragraph text, then a page break is forced before the heading is printed.
The following heading macros are available:
Use the RS and RE macros to start and end a section of indented text, respectively. The PI register controls the amount of indent.
You can nest indented sections as deeply as needed by using multiple, nested pairs of RS and RE.
Display macro Type of display With keep No keep .DS L .LD Left-justified. .DS I [indent] .ID Indented (default indent in the DI register). .DS B .BD Block-centered (left-justified, longest line centered). .DS C .CD Centered. .DS R .RD Right-justified.
Use the DE macro to end any display type. The macros Ds and De were formerly provided as aliases for DS and DE, respectively, but they have been removed, and should no longer be used. X11 documents which actually use Ds and De always load a specific macro file from the X11 distribution (macros.t) which provides proper definitions for the two macros.
To keep text together on a page, such as a paragraph that refers to a table (or list, or other item) immediately following, use the KS and KE macros. The KS macro begins a block of text to be kept on a single page, and the KE macro ends the block.
You can specify a floating keep using the KF and KE macros. If the keep cannot fit on the current page, groff holds the contents of the keep and allows text following the keep (in the source file) to fill in the remainder of the current page. When the page breaks, whether by an explicit bp request or by reaching the end of the page, groff prints the floating keep at the top of the new page. This is useful for printing large graphics or tables that do not need to appear exactly where specified.
The macros B1 and B2 can be used to enclose a text within a box; .B1 begins the box, and .B2 ends it. Text in the box is automatically placed in a diversion (keep).
You can specify symbolic footnotes by placing the mark character (such as [rs](dg for the dagger character) in the body text, followed by the text of the footnote enclosed by FS [rs](dg and FE macros.
You can control how groff prints footnote numbers by changing the value of the FF register as follows:
You can use footnotes safely within keeps and displays, but avoid using numbered footnotes within floating keeps. You can set a second [rs]** between a [rs]** and its corresponding .FS; as long as each .FS occurs after the corresponding [rs]** and the occurrences of .FS are in the same order as the corresponding occurrences of [rs]**.
- Prints the footnote number as a superscript; indents the footnote (default).
- Prints the number followed by a period (like~1.) and indents the footnote.
- Like~1, without an indent.
- Like~1, but prints the footnote number as a hanging paragraph.
You can also redefine the PT and BT macros to change the behavior of the header and footer, respectively. The header process also calls the (undefined) HD macro after PT ; you can define this macro if you need additional processing after printing the header (for example, to draw a line below the header).
Reg. Definition Effective Default PO Page offset (left margin) next page 1i LL Line length next paragraph 6i LT Header/footer length next paragraph 6i HM Top (header) margin next page 1i FM Bottom (footer) margin next page 1i
Note that there is no right margin setting. The combination of page offset and line length provide the information necessary to derive the right margin.
You can manually create a table of contents by specifying a page number as the first argument to XS. Add subsequent entries using the XA macro. For example:
.XS 1 Introduction .XA 2 A Brief History of the Universe .XA 729 Details of Galactic Formation ... .XE
Use the PX macro to print a manually-generated table of contents without resetting the page number.
If you give the argument no to either PX or TC, groff suppresses printing the title specified by the [rs]*[TOC] string.
The following four registers accept fractional point sizes: PS, VS, FPS, and FVS.
Due to backwards compatibility, the value of VS must be smaller than 40000 (this is 40.0 points).
String | Default Value |
REFERENCES | References |
ABSTRACT | ABSTRACT |
TOC | Table of Contents |
MONTH1 | January |
MONTH2 | February |
MONTH3 | March |
MONTH4 | April |
MONTH5 | May |
MONTH6 | June |
MONTH7 | July |
MONTH8 | August |
MONTH9 | September |
MONTH10 | October |
MONTH11 | November |
MONTH12 | December |
The [rs]*- string produces an em dash [em] like this.
Use [rs]*Q and [rs]*U to get a left and right typographer’s quote, respectively, in troff (and plain quotes in nroff).
The point size, vertical spacing, and inter-paragraph spacing for footnotes are controlled by the number registers FPS, FVS, and FPD; at initialization these are set to [rs]n(PS-2, [rs]n[FPS]+2, and [rs]n(PD/2, respectively. If any of these registers are defined before initialization, the initialization macro does not change them.
The hyphenation flags (as set by the hy request) are set from the HY register; the default is~14.
Improved accent marks (as originally defined in Berkeley’s ms version) are available by specifying the AM macro at the beginning of your document. You can place an accent over most characters by specifying the string defining the accent directly after the character. For example, n[rs]*~ produces an n with a tilde over it.
The following conventions are used for names of macros, strings and number registers. External names available to documents that use the groff ms macros contain only uppercase letters and digits.
Internally the macros are divided into modules; naming conventions are as follows:
Thus the groff ms macros reserve the following names: