command		initial		break?	explanation
=======		=======		======	===========
.ab		-		no	abort and core dump
.ad c		adj,norm	no	adjust on (deferred until "fill");
						c=r => adjust right only,
						c=l => left, c=n => both
.af xx c	current		no	assign register formats
.am xx		-		no	append to macro
.ar		arabic		no	arabic numbers (registers & pages)
.as xx string	-		no	append to string
.bp +-n		1		yes	begin page; page number _ n
.br		-		yes	break (equivalent to blank line)
.c2c		'		no	nobreak control character _ "c"
.cc c		.		no	basic control character _ "c"
.ce n		off		yes	center next n lines
.ch +-n +-m	-		no	change trap location from line n to m
.ch xx +-m	-		no	change plant of "xx" to m
.cu n		-		no	continuously underline next n lines
.da xx		-		no	append diverted output to "xx"
.de xx		-		no	define macro "xx"; ended by ".."
.di xx		-		no	divert output into macro "xx"
.ds xx string	-		no	define string
.ec		-		no	turn on escape processing
.eo		-		no	turn off escape processing
.ev n		0		no	switch to environment n
.ex		-		no	exit nroff
.fc a b		off		no	field delimiter _ "a";
						padding indicator _ "b"
.fi		fill		yes	fill output
.fl		-		yes	flush output buffer
.hc c		none		no	no-hyphenation indicator _ "c"
.hw word1 ...	-		no	specify hyphenation (imbedded "-")
.hy n		on		no	hyphenate if n>0
.if !c anything	-		no	"c" is a built-in condition
.if !n anything	-		no	n <= 0
.if c anything	-		no	conditional text or request
.if n anything	-		no	n > 0
.ig		-		no	ignore input up to next ".."
.in +-n		0		yes	indent +- n spaces
.lc c		.		.	leader replacement char _ "c"
.li n		-		no	accept n literal lines at current
						input level
.ll +-n		65		no	line length _ n
.ls n		1		no	line spacing n
.lt n		65		no	length of title
.lv n		-		no	(see next command)
.mc c n		n=2		no?	place "c" n spaces from end of line
.mk a		line 0		no	mark current line (into "a")
.na		adjust		no	no adjust
.nc c		\n		no	number invocation character _ \n
.ne n		-		no	need n lines
.nh		on		no	no hyphenation
.nm +-n m s i	off		no	page number _ n;
						automatic numbering parameters
.no		fill		yes	no fill or adjust
.np m s i	1,1,0		no	set/reset numbering parameters
.nr a +-n -m	-		no	register "a"/"ab" _ n;
.nr ab +-n -m	-		no		autoincrement _ m
.ns		space		no	no-space mode
.nx filename	-		no	switch to "filename" permanently
.os		-		no	output saved blank lines
.pi prog	-		no	pipe output to "prog"
.pl +-n		66		no	page length _ n
.pn +-n		1		no	next page number _ n
.po +-n		0		no	add n spaces before each line
.rd prompt	-		no	read standard input until 2 newlines
.rm xx		-		no	remove macro/string
.ro		arabic		no	lower case roman numerals
.RO		arabic		no	upper case roman numerals
.rs		space		no	restore spacing
.rt +-n		-		no	return to marked line (+n from top,
						-n from current,
						no n => to mark)
.so filename	-		no	switch to "filename" until finished
.sp +-n		-		yes	space +1 n lines
.sv n		-		no	save n lines of space (request saved if
						<n available).
.ta n1 n2 ...	9,17,25,...	no	tab stops (up to 20)
.tc c		space		no	tab replacement char _ "c" or reset
.ti+-n		-		yes	temporary indent
.tl 'left'center'right'	-		no	title
.tm string	-		no	terminal _ string
.tr abcd...	-		no	translate "a" to "b", "c" to "d",etc
.ul n		-		no	underline the next n lines
.wh +-n xx	-		no	invoke "xx" after line +n from top,
						-n from bottom (-1 = bottom)
.xh		off		no	extra-half-line mode
			notes
			=====
numberic registers
======= =========
number registers are invoked by \na or \n(ab [\n+a or \n(ab to autoincrement
first].  the reserved register names are:
	+ and (		see above
	%		current page number
	yr		last 2  digits of current year
	mo		current month (1-12)
	dy		current day of month
	dw		current day of week (1-7)
	nl		current number of output lines on a page
	dn		size in lines of last diversion
	hp		current number of character positions on input line
	.v		current vertical line spacing (read only)
	.p		current page length (read only)
	.o		current page offset (read only)
	.l		current line lenght (read only)
	.i		current indent (read only)
	.t		distance to the next trap (read only)
	.$		number of arguments available at the current macro
			level (read only)
	.c		input line count in current file (read only)
	.h		high-water mark of register "nl" on current page (read only)
	.n		length of text on last output line (read only)
	.x		reserved (read only)


built-in conditions
===== == ==========
	o		current page number is odd
	e		current page number is even
	t		the formatter is troff
	n		the formatter is nroff
hyphenation
===========
the argument to ".hy" has the following meaning:
	0		do not hyphenate
	>1		hyphenate
	2		do not hyphenate lines which cause a trap
	4		do not split off final 2 characters
	8		do not split off first 2 characters
these arguments are bit-flags, i.e. they add.
special functions
======= =========
\w'string'	width of "string"
\"		ignore this escape and the remainder of the line
register formats
======== =======
	1		arabic
	i		lower case roman numerals
	I		upper case roman numerals
	a		0,a,b,...,aa,bb,...,aaa,...  (lower case)
	A		0,A,B,...,AA,BB,...,AAA,...  (upper case)
