.\" Coherent 386 release 4.2
.\" Copyright (c) 1982, 1993 by Mark Williams Company.
.\" All rights reserved. May not be copied without permission.
.\" For copying permission and licensing info, write licensing@mwc.com
.\"
.\" This macro package has been constructed to prepare tutorials for
.\" Mark Williams COHERENT documentation.
.\" It is adapted from the standard tmac.an by fwb.
.\"
.\" Upgraded to use PostScript, and considerably simplified - by fwb, 6/20/91
.\" Modified to use nroff, for on-line reading by the visually impaired - by
.\"	fwb, 6/25/92
.\"
.\" environment usage:
.\"	1	diversions
.\"	2	special environment for headers and footers
.\" define dimensions of page (usually set in "top.r"):
.\"	FT	position of footer trap	
.\"	IN	standard indentation
.\"	PO	page offset
.\"	pD	interparagraph distance
.\"	PW	page width (i.e., width of the text on the page)
.\" flags, etc.
.\"	F	flag to trigger shifting of strings for building running head
.\"	SU	set up environment 0	
.\"	Y	print/skip printing the header
.\" control bulding of intented paragraphs:
.\"	J	bin to hold total indentation for indented paragraphs
.\"	N\\nS	hold S's amount of indentation
.\"	S	hold current level of indentation, for use with indented PP's
.\"
.\" ... and away we go ... !
.\"
.\" GENERAL INITIALIZATION
.\"
.	\" Number registers
.nr IN 0.5i
.nr J  0.5i
.nr Y  0
.nr PD 1v
.nr pD 1v
.nr PO 0
.nr PW 7.5i
.nr S  0  1
.nr SU 1
.vs 1v
.ll \n(PWu
.lt \n(PWu
.po \n(POu
.ds TI TUTORIALS
.\"
.\" USER-CALLABLE MACROS
.\"
.de NH			\" Numbered heading:  builds big ruled heading
.sp
.nf
.ce 1
\\$1
.sp
.fi
.Rt
..
.\" Sub-heading
.de SH
.Rt
.sp
.if \\n(.$>0 \{\
.ce 1
\\fB\\$1\\fR\}
..
.\" 2nd-level sub-heading
.de Sh
.Rt
.sp
.if \\n(.$>0 \\fB\\$1\\fR
.ft R
..
.de PP			\" Start new paragraph
.Rt
.sp
..
.\" Start relative indent
.de RS
.nr S \\n+S
.nr N\\nS \\n(INu
.nr J +\\n(N\\nSu
..
.\" End relative indent
.de RE
.nr J -\\n(N\\nSu
.nr S \\n-S
..
.\" Indented paragraph
.de IP
.sp
.if \\n(.$=0 .IT
.if \\n(.$=1 .IT "\\$1"
.if \\n(.$=2 .IT "\\$1" \\$2
..
.\" Indented section.  Exactly like .IP, except it is not preceded by a space
.de IS
.br
.if \\n(.$=0 .IT
.if \\n(.$=1 .IT "\\$1"
.if \\n(.$=2 .IT "\\$1" \\$2
..
.\" Indented thing.  Actually do the indenting, etc.
.de IT
.TA
.ft R
.fi
.if \\nS=0 .RS
.if \\n(.$=2 \\{\\
.nr J -\\n(N\\nSu
.nr N\\nS \\$2
.nr J +\\n(N\\nSu\\}
.in \\nJu
.if \\n(.$ \\{\\
.ti -\\n(N\\nSu
\\$1
.ie \\n(N\\nS-\\w'\\$1'>=\\w' ' \\h'|\\n(.iu'\\c
.el .br\\}
..
.\" Simplified indented paragraph:  for use with stuff with apostrophes in it
.de Ip
.sp
.TA
.ne 0.3i
.ft R
.fi
.if \\nS=0 .RS
.if \\n(.$>1 \\{\\
.nr J -\\n(N\\nSu
.nr N\\nS \\$2n
.nr J +\\n(N\\nSu\\}
.in \\nJu
.ti -\\n(N\\nSu
.if \\n(.$ \\$1
.br
..
.\" Print a display within an indented paragraph:  Obsolete
.de ID
.nf
.sp \\n(PDu
..
.\" End a display within an indented paragraph
.de IE
.fi
.sp \\n(PDu
.fi
..
.	\" Display monospace
.de DM
.DS
..
.	\" Display start
.de DS
.KS
.TA
.sp
.nf
.ft R
..
.de DE			\" Display end
.KE
.ft R
.sp
.fi
..
.\" Replace the boxes drawn by tmac.box with simple displays
.de B1
.DS
..
.de B2
.DE
..
.\" Replace the shaded line macro from tmac.box with simple boldfacing
.de SL
.B
.\" Turn off boldfacing after the next input line
.it 1 R
..
.\" Replace attempted placement of an .eps file with an apology
.de PH
.sp
.nf
 --------------------------
 [At this point, this document displays an image from an encapsulated
 PostScript file.  Unfortuately, this cannot be displayed under nroff.
 Our apologies!]
 --------------------------
.fi
.sp
..
.de II			\" Index entry
..
.\" Begin an nroff example
.de EX
.br
.sp
.nr J +0.5i
.ll -0.5i
.in \\nJu
..
.\" end nroff example
.de EE
.br
.sp
.ft R
.nr J -0.5i
.ll +0.5i
.in \\nJu
..
.\" Start quoted paragraph
.de QS
.sp
.ft R
.in +0.5i
.ll -0.5i
..
.\" End quoted paragraph
.de QE
.sp
.ft P
.in -0.5i
.ll +0.5i
..
.\"
.\" Font-Handling Macros
.\"
.de B			\" Bold font
.ie \\n(.$>0 \\fB\\$1\\fP\\$2
.el          .ft B
..
.de I			\" Italic font
.ie \\n(.$>0 \\fI\\$1\\fP\\$2
.el          .ft I
..
.de R			\" Roman font
.ie \\n(.$>0 \\fR\\$1\\fP\\$2
.el          .ft R
..
.de BI			\" bold/italic fonts
.Af B I \\n(.$ "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
..
.de BR			\" bold/roman fonts
.Af B R \\n(.$ "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
..
.de IB			\" italic/bold fonts
.Af I B \\n(.$ "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
..
.de IR			\" italic/roman fonts
.Af I R \\n(.$ "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
..
.de RB			\" roman/bold fonts
.Af R B \\n(.$ "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
..
.de RI			\" roman/italic fonts
.Af R I \\n(.$ "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
..
.\"
.\" INTERNAL MACROS
.\"
.\" Reset everything to normal state
.de Rt
.fi
.in 0
.ft R
.nr S 0 1
.nr J 0
.TA
.tc
..
.\" Start keep
.de KS
.br
.ev 1
.in \\nJu
.fi
.da Kd
..
.\" End keep
.de KE
.br
.di
.nf
.Kd
.rm Kd
.tc
.ev
..
.\" Set default tab fields
.de TA
.ta 0.5i 1.0i 1.5i 2.0i 2.5i 3.0i 3.5i 4.0i 4.5i 5.0i 5.5i
..
.\" Alternating fonts
.de Af
.if \\$3=1 \\f\\$1\\$4\\fP
.if \\$3=2 \\f\\$1\\$4\\fP\\f\\$2\\$5\\fP
.if \\$3=3 \\f\\$1\\$4\\fP\\f\\$2\\$5\\fP\\f\\$1\\$6\\fP
.if \\$3=4 \\f\\$1\\$4\\fP\\f\\$2\\$5\\fP\\f\\$1\\$6\\fP\\f\\$2\\$7\\fP
.if \\$3=5 \\f\\$1\\$4\\fP\\f\\$2\\$5\\fP\\f\\$1\\$6\\fP\\f\\$2\\$7\\fP\\f\\$1\\$8\\fP
.if \\$3=6 \\f\\$1\\$4\\fP\\f\\$2\\$5\\fP\\f\\$1\\$6\\fP\\f\\$2\\$7\\fP\\f\\$1\\$8\\fP\\f\\$2\\$9\\fP
.if \\$3>6 .tm .\\$1\\$2 has more than six arguments
..
