.\"
.\" *****************************************************************
.\" *                                                               *
.\" *    Copyright (c) Digital Equipment Corporation, 1991, 1999    *
.\" *                                                               *
.\" *   All Rights Reserved.  Unpublished rights  reserved  under   *
.\" *   the copyright laws of the United States.                    *
.\" *                                                               *
.\" *   The software contained on this media  is  proprietary  to   *
.\" *   and  embodies  the  confidential  technology  of  Digital   *
.\" *   Equipment Corporation.  Possession, use,  duplication  or   *
.\" *   dissemination of the software and media is authorized only  *
.\" *   pursuant to a valid written license from Digital Equipment  *
.\" *   Corporation.                                                *
.\" *                                                               *
.\" *   RESTRICTED RIGHTS LEGEND   Use, duplication, or disclosure  *
.\" *   by the U.S. Government is subject to restrictions  as  set  *
.\" *   forth in Subparagraph (c)(1)(ii)  of  DFARS  252.227-7013,  *
.\" *   or  in  FAR 52.227-19, as applicable.                       *
.\" *                                                               *
.\" *****************************************************************
.\"
.\"
.\" HISTORY
.\"
.\" @(#)$RCSfile: sml,v $ $Revision: 4.1.2.2 $ (DEC) $Date: 1992/11/23 17:09:53 $
.\"
...\"
...\" Copyright (c) 1990, OPEN SOFTWARE FOUNDATION, INC.
...\" ALL RIGHTS RESERVED
...\"
...\"
...\"
...\"
...\"
...\"
...\"
...\"
...\"
...\"	*******************************************************
...\"	OSF gpsml & rsml shared Semantic Markup Language macros
...\"	*******************************************************
...\"
...\"
...\"
...\"
...\"
...\"
...\"
...\"	MM, MAN, and requests supported in BOTH gpsml & rsml
...\"	====================================================
...\"
...\" .AL Start sequential invariant list
...\" .EC Equation caption
...\" .EN End equation
...\" .EQ Start equation
...\" .EX Exhibit caption
...\" .FG Figure title
...\" .LE End of list
...\" .LI List item
...\" .ML Start nonsequential invariant list
...\" .OK Key words
...\" .P Paragraph
...\" .PE pic drawing end
...\" .PP Paragraph
...\" .PS pic drawing start
...\" .RS Start reference region
...\" .TB Table title
...\" .T& Table continue
...\" .TE End table
...\" .TS Start table
...\" .VL Start nonsequential variant list
...\"
...\" .ds Define string for expansion
...\" .ne Reserve x lines on one page (takes arg 'x')
...\"
...\"
...\"
...\"	MM macros supported in gpsml but NOT in rsml
...\"	============================================
...\" .H Header
...\" .TH Table header ends (differs from .TH in rsml)
...\" .FS Start footnote region
...\" .FE End footnote region
...\"
...\"
...\"	MAN macros supported in rsml but NOT in gpsml
...\"	=============================================
...\" .RF End reference region
...\" .SH Text head in reference page
...\" .SS Subhead in reference page
...\" .TH Top head in reference page (differs from .TH in gpsml)
...\"
...\"
...\"
...\"   Macros Supported in DTE
...\"   =======================
...\" .iX Index entry
...\"
...\"
...\"
...\"
...\"
...\"
...\"
.\"
.\" 								start 001
.\" If register !s is greater than 0, then ignore the remainder of the SML
.\" macros.  This avoids including the macros more than once.
.\" Otherwise, if register !s = 0, then set it to 1, and process the macros.
.\"
.if \n(!s .ig !s
.nr !s 1
.\"								end 001
.\" 
...\"   Macros Delimiting Titled Elements of a Document
...\"   -----------------------------------------------
...\"
...\" Table header ends (equivalent to .TH)
.de tH
.TH
..
...\"
...\" Figure start--undefined operation
.de aS
..
...\"
...\" Figure end--undefined operation
.de aE
..
...\"
...\"
...\"   Macros Delimiting Untitled Elements of a Document
...\"   -------------------------------------------------
...\"
...\"
...\" Start system output example region
.de oS
.P
.ps -1
.ft CW
.nf
.in +.5i
..
...\"
...\" End system output example region
.de oE
.ps +1
.ft R
.fi
.in -.5i
.P
..
...\"
...\" Start user input example region
.de iS
.P
.ps -1
.ft B
.nf
.if \\n(!x=0 .in +.5i   \" don't indent when within synopsis
..
...\"
...\" End user input example region
.de iE
.ps +1
.ft R
.fi
.if \\n(!x=0 .in -.5i   \" (see .iS)
.P
..
...\"
...\" Start comment region
.de cS
.ig cE
..
...\" End comment region
.de cE
..
...\"
...\" Start localization region
...\" to be defined later
.de lS
..
...\" End localization region
...\" to be defined later
.de lE
..
...\"
...\"
...\"
...\"	Meaningful Text Markup
...\"	----------------------
...\"
...\"
...\"
...\"		Strings
...\"		-------
...\"		(uses style \*O )
...\"
...\" Literal
.ds L \&\\fB\"
...\" Variable
.ds V \&\\fI\"
...\" Alphabetic constant
.ds A \&\\f(CW\"
...\" Numeric constant
.ds N \&\\f(CW\"
...\" Ordinary text
.ds O \&\\fR\"
...\" System output (C for Computer output
.ds C \&\\f(CW\"
...\" System input (U for User input)
.ds U \&\\fB\"
...\" Emphasize
.ds E \&\\fI\"
...\"
...\"
...\"
...\"		Macros
...\"		------
...\"
...\" Start synopsis definition -- synopses are inherently in fill mode.
...\"  For a function call synopsis, use the .sS/.sE with an inner .iS/.iE
...\"  region.
...\" 
.de sS
.sp 1
.nr !x 1       \" save "within synopsis" state
..
...\" End synopsis definition
.de sE
.nr !x 0       \" finished synopsis
..
...\"
...\"
...\"
...\" Start function definition
...\"
...\"  Registers:
...\"	!+ = 0 outside of fS/fE
...\"	!+ = 1 within fS/fE
...\"   !% = 0 for first dS/dE after fS
...\"   !% = 1 for second or greater dS/dE after fS
...\"
...\"
.de fS
.br
\&\fB\\$1\fR(
.nr !+ 1				\" now within fS/fE
.nr !% 0				\" reset to see first dS/dE
..
...\"
...\" End function definition
...\"
.de fE
);
.br
.if \\n(!%=1 .in -5i	\" saw .dS, so reset .in made by .dS
.nr !+ 0
.nr !% 0
..
...\"
...\" Start type declaration (uses [opt] )
...\"
.de dS
.if \\n(!+=1 \{\
...\"   this path is for funtion prototype form
.	ie \\n(!%=0 .in +.5i	\" first dS/dE gets indented
.	el ,\" 					\" if NOT 1st .dS only do ","
'	br \}
.br
\&\fB\\$1\fR\"				\" make type be bold
.nr !% 1					\" next time .dS won't be first if in .fS/.fE loop
..
...\"
...\" End type declaration
...\"
.de dE
.if \\n(!+=0 ;\"			\" if NOT w/in .fS/.fE loop do ";"
..
...\"
...\"
...\"
...\"   Macros for Tagging Index, Key, & Glossary Entries
...\"   -------------------------------------------------
...\"
...\"
...\"
...\" Name of keyboard key, shown in <name> form
.de kY
\&\fB<\\$1>\fR
..
...\" Keyboard key name followed by ordinary text
.de K,
\&\fB<\\$1>\fR\\$2
..
...\" Ordinary text followed by keyboard key name
.de ,K
\&\\$1\fB<\\$2>\fR
..
...\" Glossary term followed by ordinary text
...\".de G,
...\"\&\fB\\$1\fR\\$2
...\" .tm !GLOSSARY "\\$1"
...\"..
...\" Ordinary text followed by glossary term
...\".de ,G
...\"\&\fR\\$1\fB\\$2\fR
...\" .tm !GLOSSARY "\\$1"
...\"..
...\" Emphasized text
.de eM
\&\fI\\$1\fR
..
...\" Emphasized text followed by ordinary text
.de E,
\&\fI\\$1\fR\|\\$2
..
...\" Ordinary text followed by emphasized text
.de ,E
\&\fR\\$1\|\fI\\$2\fR
..
...\"
...\"
...\"
...\"   Macros That Include, Define Strings, & Mark Up Pages
...\"   ----------------------------------------------------
...\"
...\"
...\"
...\" Include subdocument of same type
.de dI
.so \\$1
..
...\" Include subdocument of example type
.de eI
.nf
.eo
.c2 
.cc 
so \\$1
cc
.c2
.ec
.fi
..
...\" Include PostScript subdocument: print encapsulated PostScript file
...\" .pI filename height
...\" where height is the vertical size of the picture.
.de pI
.br
.ne \\$2
.P! "\\$1" \\$2
.sp \\$2
..
...\" Page markup information
.de pM
...\".tm "Warning:  .pM currently undefined"
..
...\"
...\"
...\"   Escape Mechanisms
...\"   -----------------
...\"
...\"
...\" Force a page break here
.de nP
.bp
..
...\" Force a line break
.de nL
.br
..
...\" Tag text converted from another language, not recognized
.de wH
..
.!s								"\ 001
