First of all: don't use direct font operators like \fB, \fP etc. Use macros which take arguments. This way you avoid a common glitch: forgetting the font change at the end of the word and having the bold or italic extend up to the next font change. Believe me, it happens more often than you think. The tmac.an macros provide the following type faces:
.B Bold
.BI Bold alternating with italics
.BR Bold alternating with Roman
.I Italics
.IB Italics alternating with bold
.IR Italics alternating with Roman
.RB Roman alternating with bold
.RI Roman alternating with italics
.SM Small (scaled 9/10 of the regular size)
.SB Small bold (not small alternating with bold)
X alternating with Y means that the odd arguments are typeset in X while the even arguments are typeset in Y. For example
.BI "Arg 1 is Bold, " "Arg 2 is Italics, " "and Bold, " "and Italics."
The double quotes are needed to include white space into an argument; without them, no white space appears between the alternating typefaces. In fact, you'll only need the macros for alternating typefaces in cases where you want to avoid white space between typeface changes. So much for what's available. Here's how you should make use of the different typefaces: (portions shamelessly stolen from man(7))
Although there are many arbitrary conventions for man pages in the UNIX world, the existence of several hundred Linux-specific man pages defines our standards: For functions, the arguments are always specified using italics, even in the SYNOPSIS section, where the rest of the function is specified in bold:
.BI "myfunction(int " argc ", char **" argv );
Filenames are always in italics, except in the SYNOPSIS section, where included files are in bold. So you should use
.I /usr/include/stdio.h
and
.B #include <stdio.h>
Special macros, which are usually in upper case, are in bold:
.B MAXINT
When enumerating a list of error codes, the codes are in bold. This list usually uses the .TP (paragraph with hanging tag) macro as follows:
.TP.B EBADF.I fd is not a valid file descriptor..TP.B EINVAL.I fd is unsuitable for reading
Any reference to another man page (or to the subject of the current man page) is in bold. If the manual section number is given, it is given in roman, without any spaces:
.BR man (7)
Acronyms look best when typeset in small type face. So I recommend
.SM UNIX
.SM ASCII
.SM TAB
.SM NFS
.SM LALR(1)