# Chapter 16. man Macros

#### Contents:

Alphabetical Summary of man Macros
Predefined Strings
Internal Names
Sample Document

This chapter presents the following topics:

- Alphabetical summary of the man macros

- Predefined strings

- Names used internally by the man macros

- Sample document

## 16.1. Alphabetical Summary of man Macros

As many as six arguments may be given for all the macros that change fonts or produce a heading. Use double quotes around multiple words to get longer headings.

The `.TS`, `.TE`, `.EQ`, and `.EN` macros are not defined by the man macros. But because `nroff` and `troff` ignore unknown requests, you can still use them in your manpages; `tbl` and `eqn` work with no problems.

.B | `.B` [`text` ...] Set the arguments in the bold font, with a space between each argument. If no arguments are supplied, the next input line is set in bold.
.BI | `.BI` `barg` iarg ... Set alternating barg in bold and iarg in italic, with no intervening spaces.
.BR | `.BR` `barg` rarg ... Set alternating barg in bold and rarg in roman, with no intervening spaces.
.DT | `.DT` Reset the tab stops to their defaults, every 1/2 inch.
.HP | `.HP` [`indent`] tag text Start a paragraph with a “hanging” indent, one where a tag sits out to the left side. The optional indent is how far to indent the paragraph. The tag text follows on the next line. See the example under .TP.
.I | `.I` [`text` ...] Set the arguments in the italic font, with a space between each argument. If no arguments are supplied, the next input line is set in italic.
.IB | `.IB` `iarg` barg ... Set alternating iarg in italic and barg in bold, with no intervening spaces.
> .IP | `.IP` `tag` [indent] Start a paragraph with a hanging indent, one where a tag sits out to the left side. Unlike `.HP` and `.TP`, the tag is supplied as an argument to the macro. The optional indent is how far to indent the paragraph. #### Example
>     .IP 1.
>     The first point is ...
>     .IP 2.
>     The second point is ...
.IR | `.IR` `iarg` rarg ... Set alternating iarg in italic and rarg in roman, with no intervening spaces.
.IX | `.IX` `text` Index macro. Solaris only; intended for SunSoft internal use.
.LP | `.LP` Start a new paragraph. Just like `.PP`.
.P | `.P` Start a new paragraph. Just like `.PP`.
> .PD | `.PD` [`distance`] Set the interparagraph spacing to distance. With no argument, reset it to the default. Most useful to get multiple tags for a paragraph. #### Example Show that two options do the same thing.
>     .PP
>     .I Whizprog
>     accepts the following options.
>     .TP \w'\fB\-\^\-help\fP'u+3n
>     .PD 0
>     .B \-h
>     .TP
>     .PD
>     .B \-\^\-help
>     Print a helpful message and exit.
.PP | `.PP` Start a new paragraph. This macro resets all the defaults, such as point size, font, and spacing.
.RB | `.RB` `rarg` barg ... Set alternating rarg in roman and barg in bold, with no intervening spaces.
.RE | `.RE` End a relative indent. Each `.RE` should match a preceding `.RS`. See .RS for an example.
.RI | `.RI` `rarg` iarg ... Set alternating rarg in roman and iarg in italic, with no intervening spaces.
> .RS | `.RS` [`indent`] Start a relative indent. Each successive `.RS` increases the indent. The optional indent is how far to indent the following text. Each `.RS` should have an accompanying `.RE`. #### Example
>     .PP
>     There are a number of important points to remember.
>     .RS
>     .IP 1.
>     The first point is ...
>     .IP 2.
>     The second point is ...
>     ...
>     .RE
>     Forget these at your own risk!
.SB | `.SB` `arg` ... Set arguments in bold, using a smaller point size, separated by spaces.
.SH | `.SH` `arg` ... Section header. Start a new section, such as `NAME` or `SYNOPSIS`. Use double quotes around multiple words for longer headings.
.SM | `.SM` `arg` ... Set arguments in roman, using a smaller point size, separated by spaces.
.SS | `.SS` `arg` ... Subsection header. Start a new subsection. Use double quotes around multiple words for longer headings.
> .TH | `.TH` `title` section date ... Title heading. This is the first macro of a manpage, and sets the header and footer lines. The title is the name of the manpage. The section is the section the manpage should be in (a number, possibly followed by a letter). The date is the date the manpage was last updated. Different systems have different conventions for the remaining arguments to this macro. For Solaris, the fourth and fifth arguments are the left-page footer and the main (center) header. #### Example
>     .TH WHIZPROG 1L "April 1, 1999"
>     .SH NAME
>     whizprog \- do amazing things
>     ...
> .TP | `.TP` [`indent`] tag text Start a paragraph with a hanging indent, one where a tag sits out to the left side. The optional indent is how far to indent the paragraph. The tag text follows on the next line. See also the example under .PD. #### Example
>     .TP .2i
>     1.
>     The first point is ...
>     .TP .2i
>     2.
>     The second point is ...

Copyright © 2003 O'Reilly & Associates. All rights reserved.