diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/iso10303/stepman.tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/iso10303/stepman.tex | 3346 |
1 files changed, 3346 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/iso10303/stepman.tex b/Master/texmf-dist/tex/latex/iso10303/stepman.tex new file mode 100644 index 00000000000..b7f01fe2ee1 --- /dev/null +++ b/Master/texmf-dist/tex/latex/iso10303/stepman.tex @@ -0,0 +1,3346 @@ +% stepman.tex Description of option style files for STEP +\documentclass[wd,copyright,letterpaper]{isov2} +\usepackage{stepv13} +\usepackage{irv12} +\usepackage{apv12} +\usepackage{aicv1} +\usepackage{atsv11} +%%\usepackage{isomods} % must come after the step packages +\usepackage{hyphenat} +\usepackage{comment} + +\ifpdf + \pdfoutput=1 + \usepackage[plainpages=false, + pdfpagelabels, + bookmarksnumbered, + hyperindex=true + ]{hyperref} +\fi + +% general required preamble commands +\standard{ISO/WD 10303-3456} +\yearofedition{2002} +\languageofedition{(E)} +\renewcommand{\extrahead}{N 47b} % add doc N number to headers +\partno{3456} +\series{documentation methods} +\doctitle{LaTeX package files for ISO 10303: User manual} +\ballotcycle{2} +% required preamble commands for an AP +\aptitle{implicit drawing} +\aicinaptrue % only if the AP uses AICs +\mapspectrue % only if AP uses mapping specification +% required preamble commands for an ATS +\APtitle{abstract painting} +\APnumber{299} + +\changemarkstrue + +\makeindex + +\setcounter{tocdepth}{3} % add more levels to table of contents +% +% Rest of preamble is some special macro definitions for this document only +% +\makeatletter +% +% the \file{} command +% +\newcommand{\file}[1]{\textsf{#1}} +% +% the \meta{} command +% +\begingroup +\obeyspaces% +\catcode`\^^M\active% +\gdef\meta{\begingroup\obeyspaces\catcode`\^^M\active% +\let^^M\do@space\let \do@space% +\def\-{\egroup\discretionary{-}{}{}\hbox\bgroup\it}% +\m@ta}% +\endgroup +\def\m@ta#1{\leavevmode\hbox\bgroup$<$\it#1\/$>$\egroup + \endgroup} +\def\do@space{\egroup\space + \hbox\bgroup\it\futurelet\next\sp@ce} +\def\sp@ce{\ifx\next\do@space\expandafter\sp@@ce\fi} +\def\sp@@ce#1{\futurelet\next\sp@ce} +% +% the \setlabel{id}{num} command +% this is based on the kernel \refstepcounter macro (ltxref.dtx) +% +%%\newcounter{lbl} +\ifpdf + \newcommand{\setlabel}[2]{% + \protected@write\@auxout{}{% + \string\newlabel{#1}{{#2}{\thepage}{setlabel\relax}{label.#2}{}}}% + } +\else + \newcommand{\setlabel}[2]{% + \protected@write\@auxout{}{% + \string\newlabel{#1}{{#2}{\thepage}}}% + } +\fi +% +% index a command +\newcommand{\bs}{\symbol{'134}} +\newcommand{\ixcom}[1]{\index{#1/ @{\tt \protect\bs #1}}} +% index an environment +\newcommand{\ixenv}[1]{\index{#1 @{\tt #1} (environment)}} +% index an option +\newcommand{\ixopt}[1]{\index{#1 @{\tt #1} (option)}} +% index a package +\newcommand{\ixpack}[1]{\index{#1 @\file{#1} (package)}} +% index a class +\newcommand{\ixclass}[1]{\index{#1 @\file{#1} (class)}} +% index in typewriter font +\newcommand{\ixtt}[1]{\index{#1@{\tt #1}}} +% index LaTeX +\newcommand{\ixltx}{\index{latex@\LaTeX}} +% index LaTeX 2e +\newcommand{\ixltxe}{\index{latex2e@\LaTeX 2e}} +% index LaTeX v2.09 +\newcommand{\ixltxv}{\index{latex209@\LaTeX{} v2.09}} +% index a file +\newcommand{\ixfile}[1]{\index{#1@\file{#1}}} +\makeatother +% +% +% set some labels +% step +\setlabel{;ssne}{A} +%%%\setlabel{;sior}{B} +%%%\setlabel{;scil}{C} +\setlabel{;seg}{D} +% aic +\setlabel{;sesl}{4} +% ap +\setlabel{;sireq}{4} +\setlabel{;suof}{4.1} +\setlabel{;sao}{4.2} +\setlabel{;saa}{4.3} +\setlabel{;saim}{5} +\setlabel{;smap}{5.1} +\setlabel{;saesl}{5.2} +\setlabel{;scr}{6} +\setlabel{;saeel}{A} +\setlabel{;sasn}{B} +\setlabel{;simreq}{C} +\setlabel{;spics}{D} +\setlabel{;saam}{F} +\setlabel{;sarm}{G} +\setlabel{;saeg}{H} +\setlabel{;scil}{J} +\setlabel{tabB1}{B.1} +\setlabel{;uof1}{5.1.2} +\setlabel{;uoflast}{5.1.4} +% +% define a new length +\newlength{\prwlen} +% +% new (La)TeX macros +\newcommand{\latex}{LaTeX} +\newcommand{\tex}{TeX} +% +%%%%%%%%%% END SPECIAL MACROS +% +% end of preamble +% +\begin{document} + + +\STEPcover{ +%\scivnumber{987} +\wg{EC} +\docnumber{47b} +\oldwg{EC} +\olddocnumber{47a} +\docdate{2002/09/04} +%\partnumber{3456} +%\doctitle{LaTeX package files for ISO 10303: User manual} +%\status{Working draft} +%\primcont +\abstract{This document describes and illustrates the \latex{} macros +for typesetting ISO~10303. The International Organisation for +Standardisation (ISO) has specified editorial directives for all +international standards published by them. The \latex{} macros +described here were developed to meet additional editorial directives +for ISO~10303. } % end abstract +\keywords{\latex, document preparation, typesetting ISO standards} +%\dateprojo{May 1996} +\owner{Peter R. Wilson} +\address{Boeing Commercial Airplane\newline + PO Box 3701 \newline + MS 2R-97 \newline + Seattle, WA 98124-2207 \newline + USA} +\telephone{+1 (206) 544-0589} +\fax{+1 (206) 544-5889} +\email{\url{peter.r.wilson@boeing.com}} +\altowner{Peter R. Wilson} +\altaddress{Boeing Commercial Airplane \newline + PO Box 3701 \newline + MS 2R-97 \newline + Seattle, WA 98124-2207 \newline + USA} +\alttelephone{+1 (206) 544-0589} +\altfax{+1 (206) 544-5889} +\altemail{\url{peter.r.wilson@boeing.com}} +\comread{\draftctr This document serves two purposes. Firstly, it provides a description + of the current \latex{} macros for ISO 10303. Secondly, the source + can be used as an example of using the \latex{} commands. + Although the document is written as though it were a + standard, it is not, and is not intended to become, + a standard.} %end comread +} % end of STEPcover + +\Foreword + +\fwdshortlist +\endForeword% +{Annexes A, B and C are} % normative annexes +{Annexes D, E and F are} % informative annexes + +\begin{Introduction}%%%%%%%%%%{documentation methods} + + This part of ISO 10303 specifies the \latex{} facilities specifically +designed for use in preparing the various parts of this standard. + +\begin{majorsublist} +\item the \file{step} package facility; +\item the \file{ir} package facility; +\item the \file{ap} package facility; +%%%\item the \file{am} package facility; +\item the \file{aic} package facility; +\item the \file{ats} package facility. +\end{majorsublist} + + This part of ISO~10303 is intended to be used in conjunction with +\textit{\latex{} for ISO standards: User manual} +which is based in part upon material in the ISO/IEC Directives, +Part 2 (\textit{Rules for the structure and drafting of International +Standards, Fourth edition}). +The \latex{} facilities described here are based as well +upon the specifications given in ISO TC184/SC4 N1217n +(\textit{SC4 Supplementary directives --- Rules for the structure +and drafting of SC4 standards for industrial data}). + + +\sclause*{Overview} + + + This document describes a set of \latex{} macro files for use within +ISO~10303, commonly called STEP (STandard for the Exchange of Product +model data). The electronic source of this document +also provides an example of the use of these files. + + The current set of macro files have been developed by +Peter Wilson (\url{peter.r.wilson@boeing.com}) from a macro file developed +by Kent Reed (NIST) for \latex{} v2.09. In turn, this was a revision of +files originally created by Phil Spiby (CADDETC), based on earlier work +by Phil Kennicott (GE).\footnote{In mid 1994 \latex{} was upgraded +from version 2.09 to what is called \latex 2e. The files described in +this document are only applicable to \latex 2e (support for \latex{} v2.09 +was dropped in September 1997).} + + +\begin{anote} +It is important to remember that these macro files are only compatible with +\latex 2e. +\end{anote} % end anote + + Documents produced with the \latex{} files have been twice reviewed +by the ISO Editorial Board in Geneva for conformance to their +typographical requirements. The first review was of a set of Draft +International Standard documents. This review resulted in some changes +to the style files. The second review was of a set of twelve +International Standard documents (ISO 10303:1994). Likewise, this +review led to changes in the style files to bring the documents into +conformance. + + With the issuance of the first STEP release, the opportunity was +taken to provide a new baseline release of the package files. +In particular, one STEP specific package file is available for all +STEP parts, while others contain only commands relevant to the +documentation of particular series of parts. The range of package +files may be extended in the future to cater for +documentation specific to all STEP parts. + + The 1997 baseline release was also designed to cater for the +fact that a major update of \latex{} to \latex 2e took place during 1994. +\latex 2e is the only officially supported version of \latex. + + Because ISO standard documents have a very structured layout, the +\file{isov2} class and the package files described here have been +designed to reflect the logical document structure to a much greater +extent than the `standard' \latex{} files. + + With ISO's move toward accepting documents in PDF and HTML, +the advent of second +editions of some of the STEP parts, and a new edition of the STEP +Supplementary Directives, a 2002 +baseline release has been developed and is documented here. + + + +\end{Introduction} + +\stepparttitle{Documentation methods: LaTeX package files for ISO 10303: +User manual} + + +\scopeclause + +This part of ISO~10303 describes a set of \ixltx\latex{} facilities for typesetting +documents according to the ISO/IEC Directives Part 2, together with the +Supplementary Directives for drafting and presentation of ISO~10303. + +\begin{inscope}{part of ISO~10303} +\item use of \latex{} for preparing ISO~10303 documents. +\end{inscope} + +\begin{outofscope}{part of ISO~10303} +\item use of \latex{} for preparing ISO standard documents in general; +\item use of \latex{} in general; +\item use of other document preparation systems. +\end{outofscope} + +\textbf{IMPORTANT:} The preparation of this document has been partly +funded by the US Government and is not subject to copyright. +Any copyright notices within the document are for illustrative purposes only. + +\normrefsclause \label{sec:nrefs} + +\normrefbp{part of ISO~10303} +\begin{nreferences} + +\isref{ISO/IEC Directives, Part 2}{Rules for the structure and drafting + of International Standards, Fourth edition.} + +\isref{ISO TC 184/SC4 N1217:2001(E)}{SC4 Supplementary directives --- + Rules for the structure and drafting of SC4 standards for + industrial data.} + +%\isref{ISO 10303-1:1994}{Industrial automation systems and integration --- +% Product data representation and exchange --- +% Part 1: Overview and fundamental principles.} +\nrefparti + +%\isref{ISO 10303-11:1994}{Industrial automation systems and integration --- +% Product data representation and exchange --- +% Part 11: Description methods: +% The EXPRESS language reference manual.} +\nrefpartxi + +%\disref{ISO/TR 10303-12:---}{Industrial automation systems and integration --- +% Product data representation and exchange --- +% Part 12: Description methods: +% The EXPRESS-I language reference manual.} +\nrefpartxii + +%\disref{ISO/IEC 8824-1:---}{Information technology --- +% Open systems interconnection --- +% Abstract syntax notation one (ASN.1) --- +% Part 1: Specification of basic notation.} +\nrefasni + +\disref{P. R. WILSON:---}{LaTeX for ISO standards: User manual.} + +\end{nreferences} + +\defabbclause +%\clause{Terms, definitions, and abbreviations} + +\partidefhead +%\sclause{Terms defined in ISO 10303-1} + + This part of ISO~10303 makes use of the following terms defined in +ISO~10303-1: + +\begin{olddefinitions} +\olddefinition{application protocol (AP)} \index{Application Protocol} + \index{AP} +\olddefinition{integrated resource} \index{Integrated Resource} +\end{olddefinitions} + + +\otherdefhead +%\sclause{Other definitions} + + For the purposes of this part of ISO~10303, the following definitions +apply. + +\begin{definitions} +\definition{boilerplate}{Text whose wording is fixed and which has been +agreed to be present in a specific type of document.} \index{boilerplate} +\definition{style file}{A set of \latex{} macros assembled into a +single file with an extension \file{.sty}.} + \index{style file} +\definition{package file}{A style file for use with \latex 2e.} + \index{package file} +\definition{facility}{A generic term for a set of \latex{} macros + assembled for a common purpose. The macros may be defined in + either a style file or a package file.}\index{facility} + +\end{definitions} + +\abbsubclause +%\sclause{Abbreviations} + + For the purposes of this part of ISO 10303, the following abbreviations + apply. + +\begin{symbols} +\symboldef{AIC}{Application Interpreted Construct} \index{AIC} +\symboldef{AM}{Application Module} \index{AM} +\symboldef{AP}{Application Protocol} \index{AP} +\symboldef{DIS}{Draft International Standard} \index{DIS} +\symboldef{IS}{International Standard} \index{IS} +\symboldef{ISOD}{ISO/IEC Directives, Part 2} \index{ISOD} \index{ISO/IEC Directives} +\symboldef{SD}{Supplementary Directives --- + \textit{SC4 Supplementary directives --- Rules for the structure and + drafting of SC4 standards for industrial data}}\index{SD}\index{Supplementary Directives} +\symboldef{IS-REVIEW}{The ISO Editorial Board review (September 1994) of + twelve IS documents + for conformance to ISO typographical and + layout requirements.} \index{IS-REVIEW} +\end{symbols} + + + +\clause{Conformance requirements} \label{sec:iconform} + + The facility files shall not be modified in any manner. + + If there is a need to modify any of the macro definitions then this +shall be done using the \latex{} +\verb|\renewcommand|\ixcom{renewcommand} and/or the +\verb|\renewenvironment|\ixcom{renewenvironment} +commands. These shall be placed in a new \file{.sty} file (or files) +which shall be called in within the preamble\index{preamble} of the +document being typeset. + + There shall be no author specified \verb|\label{...}| commands where +the first two characters of the label are \verb|;s| (semicolon and `s'); +the creation of labels starting with these characters is reserved to the +maintainer of the facility files. + +\begin{anote} For conformance to the \file{isov2} class, author specified +labels starting with the characters \verb|;i| (semicolon and `i') are +prohibited. +\end{anote} + + +\fcandaclause +%\clause{Fundamental concepts and assumptions} + + It is assumed that the reader of this document is familiar with the +\ixltx\latex{} document preparation system and in particular +with the \file{isov2}\ixclass{isov2} class and associated facilities +described in +\textit{LaTeX for ISO standards: User manual}. + +\begin{note}Reference~\bref{lamport} describes the + \latex{} system. +\end{note} % end note + + The reader is also assumed to be familiar with the ISO/IEC Directives +Part~2 (ISOD)\index{ISOD} and +the SC4 Supplementary directives for the structure and drafting of +SC4 standards (SD).\index{ISOD}\index{SD} + + If there are any discrepancies between the layout and wording of this +document and the requirements of the ISOD or the SD, +then the requirements in those documents shall be +followed for ISO~10303 standard documents. + + The packages described herein have been designed to be used with +the \file{isov2}\ixclass{isov2} document class. It is highly unlikely that the +packages will perform at all with any other \latex{} document class. + + Because of many revisions over the years to the packages described +herein, a naming convention has been adopted for the package files. +The naming convention is that the +primary name of the file is suffixed by \file{v\#}, where +\file{\#} is the primary version number of the file in question. +All file primary names have been limited to a maximum of eight characters. + +\begin{note}Table~\ref{tab:curfiles} shows the versions of the files +that were current at the time of publication. +\ixpack{step}\ixfile{stepv13.sty} +\ixpack{ir}\ixfile{irv12.sty} +\ixpack{ap}\ixfile{apv12.sty} +\ixpack{aic}\ixfile{aicv1.sty} +\ixpack{ats}\ixfile{atsv11.sty} +%%%\ixpack{am}\ixfile{amv1.sty} +\end{note} % end note + +\begin{table} +\centering +\caption{File versions current at publication time} \label{tab:curfiles} +\begin{tabular}{|l|l|l|} \hline +\textbf{Facility} & \textbf{File} & \textbf{Version} \\ \hline\hline +\file{step} & \file{stepv13.sty} & v1.3.2 \\ +\file{ir} & \file{irv12.sty} & v1.2 \\ +\file{ap} & \file{apv12.sty} & v1.2 \\ +%%%\file{am} & \file{amv1.sty} & v1.0 \\ +\file{aic} & \file{aicv1.sty} & v1.0 \\ +\file{ats} & \file{atsv11.sty} & v1.1 \\ +\hline +\end{tabular} +\end{table} + + +\begin{note} +This document is not, and is never intended to become, + a standard, although it has been laid out in a +similar, but not necessarily identical, manner. +\end{note} % end note + + +\clearpage +\clause{The \file{step} package facility} + + The \file{step}\ixpack{step} package facility provides commands +and environments +applicable to all the ISO~10303 series of documents. + +\sclause{Preamble commands} + + Certain commands shall be put in the preamble\index{preamble} +of any document. + + The command +\verb|\partno{|\meta{number}\verb|}|\ixcom{partno} +is used to specify the Part number of the ISO~10303 standard +(e.g., \verb|\partno{3456}|). + + The command +\verb|\series{|\meta{series title}\verb|}|\ixcom{series} +is used to specify the name of the ISO~10303 series of which the Part +is a member (e.g., \verb|\series{application modules}|). + + The command +\verb|\doctitle{|\meta{informal title}\verb|}|\ixcom{doctitle} +is used to specify the title to be used on the cover sheet. +For example: \\ +\verb|\doctitle{LaTeX package files for ISO 10303: User manual}| + + The command +\verb|\ballotcycle{|\meta{number}\verb|}|\ixcom{ballotcycle} +is used to specify the ballot cycle number for the document +(e.g., \verb|\ballotcycle{2}|). + + The command\ixcom{ifhaspatents} +\verb|\haspatentstrue|\ixcom{haspatentstrue} shall be put in the +preamble when the document includes identified patented material; +otherwise the command \verb|\haspatentsfalse|\ixcom{haspatentsfalse} +may, but need not, be used instead. + + The \verb|\extrahead|\ixcom{extrahead} macro, from the \file{isov2} +class, shall be defined to be the document +number (e.g., \verb|\renewcommand{\extrahead}{47a}|). + + + +\begin{anote} +The commands \verb|\standard|\ixcom{standard}, +\verb|\yearofedition|\ixcom{yearofedition} and +\verb|\languageofedition|\ixcom{languageofedition} from the \file{isov2} +class must also be put in the preamble. +\end{anote} + + +\sclause{Cover page} + + The command \verb+\STEPcover{+\meta{commands}\verb+}+\ixcom{STEPcover} +produces a cover page for a STEP document. +The complete list of commands is shown below. + +\begin{itemize} +\item \verb+\wg{+\meta{working group}\verb+}+\ixcom{wg} + the working + group or other committee producing the document e.g., WG 5 +\item \verb+\docnumber{+\meta{number}\verb+}+\ixcom{docnumber} + the number + of the document e.g., 156 +\item \verb+\docdate{+\meta{date}\verb+}+\ixcom{docdate} + date of + publication e.g., 1993/07/03 +\item \verb+\oldwg{+\meta{working group}\verb+}+\ixcom{oldwg} + superseded + working group e.g., WG 1 +\item \verb+\olddocnumber{+\meta{number}\verb+}+\ixcom{olddocnumber} + number of previous document e.g., 107 +\item \verb+\abstract{+\meta{text}\verb+}+\ixcom{abstract} + an abstract + of the document +\item \verb+\keywords{+\meta{text}\verb+}+\ixcom{keywords} + for listing + relevant keywords +\item \verb+\owner{+\meta{text}\verb+}+\ixcom{owner} + name of the project leader +\item \verb+\address{+\meta{text}\verb+}+\ixcom{address} + address of the project leader +\item \verb+\telephone{+\meta{number}\verb+}+\ixcom{telephone} + the project leader's telephone number +\item \verb+\fax{+\meta{number}\verb+}+\ixcom{fax} + the project leader's fax number +\item \verb+\email{+\meta{text}\verb+}+\ixcom{email} + Email address of the project leader +\item \verb+\altowner{+\meta{text}\verb+}+\ixcom{altowner} + name of the editor of the document +\item \verb+\altaddress{+\meta{text}\verb+}+\ixcom{altaddress} + the editor's address +\item \verb+\alttelephone{+\meta{number}\verb+}+\ixcom{alttelephone} + the editor's telephone number +\item \verb+\altfax{+\meta{number}\verb+}+\ixcom{altfax} + the editor's fax number +\item \verb+\altemail{+\meta{text}\verb+}+\ixcom{altemail} + the editor's Email address +\item \verb+\comread{+\meta{text}\verb+}+\ixcom{comread} + comments to + the reader +\end{itemize} + + Use only those commands within \verb|\STEPcover| that are relevant +to the purposes at hand. The order of the commands within +\verb|\STEPcover| is immaterial. + +\begin{example} +The commands used to produce the cover sheet for one version of this +document were: +\begin{verbatim} +\STEPcover{ +\wg{EC} +\docnumber{41} +\oldwg{EC} +\olddocnumber{35} +\docdate{1994/08/19} +\abstract{This document describes the \latex{} style files created for ISO~10303. + It also describes the program GenIndex which provides some + capabilities to assist in the creation of indexes for \latex{} + documents in general.} +\keywords{\latex, Style file, GenIndex, Index} +\owner{Peter R Wilson} +\address{NIST\newline + Bldg. 220, Room A127 \newline + Gaithersburg, MD 20899 \newline + USA } +\telephone{+1 (301) 975-2976} +\email{\texttt{pwilson@cme.nist.gov}} +\altowner{Tony Day} +\altaddress{Sikorsky Aircraft} +\comread{This document serves two purposes. Firstly, it provides a description + of the current \latex{} style file for ISO 10303. Secondly, the source + can be used as an example of using the \latex{} commands.} % end comread +} % end of STEPcover +\end{verbatim} +Note the use of the \verb|\newline| command instead of \verb|\\| in +the argument of the \verb|\address| command to indicate a new line. The +\verb|\newline| is needed to ensure satisfactory conversion to HTML. +\end{example} % end example + + The macro \verb|\draftctr|\ixcom{draftctr} generates boilerplate that +may be used in the `Comments to Reader' section of a cover page. +\begin{example} +The \latex{} source \verb|\draftctr This document \ldots| prints: + +\draftctr This document \ldots +\end{example} + +\sclause{Heading commands} + + The commands described in this subclause specify various `standard' +clause headings. + +\ssclause{The Foreword commands} + + The \verb+\Foreword+\ixcom{Foreword} command specifies that a +table of contents, list of figures and a list of tables be produced. +Page numbering is roman style and the table of contents starts on page iii. +A new unnumbered clause entitled Foreword is started containing both +ISO required boilerplate and boilerplate\index{boilerplate} +text specific to ISO 10303. + + + Any text may be written after the \verb|\Foreword| command. The +Foreword clause is ended by the +\verb+\endForeword{+\meta{norm annexes}\verb+}{+\meta{inf annexes}\verb+}+ +command.\ixcom{endForeword} This command takes two parameters. +\begin{enumerate} +\item \meta{norm annexes} A phrase that starts the sentence + `\meta{norm annexes} a normative part of this part \ldots'. + If there are no normative annexes, then use an empty + argument (i.e., \verb|{}| with no spaces between the braces). +\item \meta{inf annexes} A phrase that starts the sentence + `\meta{inf annexes} for information only.'. + If there are no informative annexes, then use an + empty argument. +\end{enumerate} + + The \verb|\endForeword| command produces some additional +boilerplate\index{boilerplate} text specifically for ISO 10303. + +\begin{example} +The \latex{} source for the Foreword for this document is: +\begin{verbatim} +\Foreword +\fwdshortlist +\endForeword +{Annexes A, B and C are} % normative annexes +{Annexes D, E and F are} % informative annexes +\end{verbatim} +\end{example} % end example + + + The \verb|\fwdshortlist|\ixcom{fwdshortlist} command +produces boilerplate text for inclusion in the foreword referencing +the STEP parts and series. +\begin{example} +In this document, the command \verb|\fwdshortlist| prints: + +\fwdshortlist +\end{example} + + The \verb|\steptrid|\ixcom{steptrid} command +produces boilerplate text for inclusion in the foreword describing +the creators of a STEP Technical Report. + +\begin{example} +The \latex{} command \verb|\steptrid| in this document prints: + +\steptrid +\end{example} + + +\ssclause{The Introduction environment} + + The +\verb+\begin{Introduction}+\ixenv{Introduction} +environment starts a new unnumbered clause +entitled Introduction and adds some boilerplate\index{boilerplate} +text specifically for ISO~10303. + +\begin{example} + The following \latex{} source was used to specify the Introduction +to this document. \label{ex:intro} +\begin{verbatim} +\begin{Introduction} + + This part of ISO 10303 specifies the \latex{} facilities +specifically designed for use in preparing the various parts of +this standard. + +\begin{majorsublist} +\item the \file{step} package facility; +\item the \file{ir} package facility; +\item the \file{ap} package facility; +\item the \file{aic} package facility; +\item the \file{atc} package facility. +\end{majorsublist} + + This part of ISO 10303 is intended to be used ... + +\sclause*{Overview} + + This document describes a set of \latex{} files for use +within ISO~10303 ... + +\end{Introduction} +\end{verbatim} +\end{example} % end example + + +\ssclause{The stepparttitle command} + + The \verb+\stepparttitle{+\meta{part title}\verb+}+\ixcom{stepparttitle} +command produces the title for +an ISO~10303 part, where \meta{part title} is the title of the part. + +\begin{anexample}The title for this document was produced using: +\begin{verbatim} +\stepparttitle{Documentation methods: + LaTeX package files for ISO 10303: User manual} +\end{verbatim} +\end{anexample} % end example + + +\ssclause{Other headings} + + Most of these commands take no parameters. They start document clauses +with particular titles. The commands that take no parameters are listed +in \tref{tab:noparamhead}. Some of these headings commands have predefined +labels, which are also listed in the table. +\ixcom{partidefhead} +\ixcom{otherdefhead} +\ixcom{introsubhead} +\ixcom{fcandasubhead} +\ixcom{shortnamehead} +\ixcom{picshead} +\ixcom{objreghead} +\ixcom{docidhead} +\ixcom{schemaidhead} +\ixcom{expresshead} +\ixcom{listingshead} +\ixcom{expressghead} +%%\ixcom{modelscopehead} +\ixcom{techdischead} +\ixcom{exampleshead} + +\begin{anote} + In the tables, C = clause, SC = subclause, SSC = subsubclause, +NA = normative annex, IA = informative annex. +\end{anote} % end note + +\settowidth{\prwlen}{\quad Protocol Implementation Conformance Statement} +\begin{table} +\centering +\caption{STEP package parameterless heading commands} +\label{tab:noparamhead} +\begin{tabular}{|l|c|p{\prwlen}|l|} \hline +\textbf{Command} & \textbf{Clause} & \textbf{Default text} & \textbf{Label} \\ \hline +\verb|\partidefhead| & SC & Terms defined in ISO 10303-1 & \\ +\verb|\otherdefhead| & SC & Other definitions & \\ +\verb|\introsubhead| & SC & Introduction & \\ +\verb|\fcandasubhead| & SC & Fundamental concepts and assumptions & \\ +\verb|\shortnamehead| & NA & Short names of entities & \verb|;ssne| \\ +\verb|\picshead| & NA & Protocol Implementation Conformance Statement (PICS) proforma & \verb|;spics| \\ +\verb|\objreghead| & NA & Information object registration & \verb|;sior| \\ +\verb|\docidhead| & SC & Document identification & \\ +\verb|\schemaidhead| & SC & Schema identification & \\ +\verb|\expresshead| & IA & \Express{} listing & \\ +\verb|\listingshead| & IA & Computer interpretable listings & \verb|;scil| \\ +\verb|\expressghead| & IA & \ExpressG\ diagrams & \verb|;seg| \\ +%%%%\verb|\modelscopehead| & IA & Model scope & \verb|;sms| \\ +\verb|\techdischead| & IA & Technical discussions & \verb|;std| \\ +\verb|\exampleshead| & IA & Examples & \verb|;sex| \\ +\hline +\end{tabular} +\end{table} + + The commands listed in \tref{tab:paramhead} are equivalent to the +general sectioning commands, but are intended to indicate the start +of a particular documentation element. These commands take either one +or two parameters. The parameters are denoted in the column headed +`Parameterized title'. +\ixcom{refdefhead} +\ixcom{schemahead} +\ixcom{typehead} +\ixcom{entityhead} +\ixcom{rulehead} +\ixcom{functionhead} +\ixcom{atypehead} +\ixcom{anentityhead} +\ixcom{arulehead} +\ixcom{afunctionhead} +\ixcom{aschemaidhead} +\ixcom{singletypehead} +\ixcom{singleentityhead} +\ixcom{singlerulehead} +\ixcom{singlefunctionhead} + +\begin{table} +\centering +\caption{STEP package parameterized heading commands} +\label{tab:paramhead} +\begin{tabular}{|l|c|l|} \hline +\textbf{Command} & \textbf{Clause} & \textbf{Parameterized title} \\ \hline +\verb|\refdefhead| & SC & Terms defined in \meta{ISO ref} \\ +\verb|\schemahead| & C & \meta{schema name} \\ +\verb|\singletypehead| & SC & \meta{schema name} type definition: +\meta{type name} \\ +\verb|\typehead| & SC & \meta{schema name} type definitions \\ +\verb|\atypehead| & SSC & \meta{type name} \\ +\verb|\singleentityhead| & SC & \meta{schema name} entity definition: +\meta{entity name} \\ +\verb|\entityhead| & SC & \meta{schema name} entity definitions \meta{group} \\ +\verb|\anentityhead| & SSC & \meta{entity name} \\ +\verb|\singlerulehead| & SC & \meta{schema name} rule definition: +\meta{rule name} \\ +\verb|\rulehead| & SC & \meta{schema name} rule definitions \\ +\verb|\arulehead| & SSC & \meta{rule name} \\ +\verb|\singlefunctionhead| & SC & \meta{schema name} function definition: +\meta{function name} \\ +\verb|\functionhead| & SC & \meta{schema name} function definitions \\ +\verb|\afunctionhead| & SSC & \meta{function name} \\ +\verb|\aschemaidhead| & SSC & \meta{schema name} identification \\ \hline +\end{tabular} +\end{table} + +\sclause{Miscellaneous commands} + + The following commands provide some printing options for commonly +occurring situations. The \verb|\nexp{}|\ixcom{nexp} command is intended +to be used for printing \Express{} \index{express@{\Express}} entity names etc. +\begin{itemize} +\item The command \verb|\B{abc}|\ixcom{B} prints \B{abc} +\item The command \verb|\E{abc}|\ixcom{E} prints \E{abc} +\item The command \verb|\Express|\ixcom{Express} prints \Express{} +\item The command \verb|\ExpressG|\ixcom{ExpressG} prints \ExpressG{} +\item The command \verb|\ExpressI|\ixcom{ExpressI} prints \ExpressI{} +\item The command \verb|\ExpressX|\ixcom{ExpressX} prints \ExpressX{} +\item The command \verb|\BG{|\meta{mathsymbol}\verb|}|\ixcom{BG} prints + \meta{mathsymbol} in bold font. +\item The command \verb|\HASH|\ixcom{HASH} prints \HASH{} +\item The command \verb|\LT|\ixcom{LT} prints \LT{} +\item The command \verb|\LE|\ixcom{LE} prints \LE{} +\item The command \verb|\NE|\ixcom{NE} prints \NE{} +\item The command \verb|\INE|\ixcom{INE} prints \INE{} +\item The command \verb|\GE|\ixcom{GE} prints \GE{} +\item The command \verb|\GT|\ixcom{GT} prints \GT{} +\item The command \verb|\CAT|\ixcom{CAT} prints \CAT{} +%\item The command \verb|\HAT|\ixcom{HAT} prints \HAT{} +\item The command \verb|\QUES|\ixcom{QUES} prints \QUES{} +%\item The command \verb|\BS|\ixcom{BS} prints \BS{} +\item The command \verb|\IEQ|\ixcom{IEQ} prints \IEQ{} +\item The command \verb|\INEQ|\ixcom{INEQ} prints \INEQ{} +\item The command \verb|\nexp{an\_entity}|\ixcom{nexp} prints \nexp{an\_entity} +\item The command \verb|\xword{ExpResS\_KeyworD}|\ixcom{xword} + prints \xword{ExpResS\_KeyworD} +\end{itemize} + +The command \verb|\ix{|\meta{word or phrase}\verb|}|\ixcom{ix} both prints +its parameter and also makes an index entry out of it. + +The command \verb|\mnote{|\meta{Marginal note text}\verb|}|\ixcom{mnote} +prints its parameter as a +marginal note. \mnote{Quite a lot of marginal note text.} +Remember, though, that marginal notes are only printed when the +\file{isov2}\ixclass{isov2} class \file{draft}\ixopt{draft} option +is used. Marginal notes are not allowed by ISO. + +\ssclause{Standard reference commands} + + Many parts of STEP use the same normative or informative references. +The most common of these are provided via commands. The currently available +commands are listed in \tref{tab:nrefc}. +\ixcom{nrefasni} +\ixcom{nrefparti} +\ixcom{nrefpartxi} +\ixcom{nrefpartxii} +\ixcom{nrefpartxxi} +\ixcom{nrefpartxxii} +\ixcom{nrefpartxxxi} +\ixcom{nrefpartxxxii} +\ixcom{nrefpartxli} +\ixcom{nrefpartxlii} +\ixcom{nrefpartxliii} + + The naming convention used for references to parts of ISO~10303 is to +end the command name with the number of the part expressed in lower case +Roman numerals. Should further references to parts of ISO~10303 be added later, +the same naming convention will be used. + +\begin{table} +\centering +\caption{Commands for common references to standards} \label{tab:nrefc} +\begin{tabular}{|l|l|} \hline +\textbf{Standard} & \textbf{Command} \\ \hline +ISO/IEC 8824-1 & \verb|\nrefasni| \\ +ISO 10303-1 & \verb|\nrefparti| \\ +ISO 10303-11 & \verb|\nrefpartxi| \\ +ISO 10303-12 & \verb|\nrefpartxii| \\ +ISO 10303-21 & \verb|\nrefpartxxi| \\ +ISO 10303-22 & \verb|\nrefpartxxii| \\ +ISO 10303-31 & \verb|\nrefpartxxxi| \\ +ISO 10303-32 & \verb|\nrefpartxxxii| \\ +ISO 10303-41 & \verb|\nrefpartxli| \\ +ISO 10303-42 & \verb|\nrefpartxlii| \\ +ISO 10303-43 & \verb|\nrefpartxliii| \\ \hline +\end{tabular} +\end{table} + + +\begin{example} The normative references in this document were input as: +\begin{verbatim} +\begin{nreferences} +\isref{ISO/IEC Directives, Part 2}{Rules for the structure and drafting + International Standards, Fourth edition.} +\isref{...} +\nrefparti +\nrefpartxi +\nrefpartxii +\nrefasni +\disref{P. R. WILSON:---}{LaTeX for ISO standards: User manual.} +\end{nreferences} +\end{verbatim} +\end{example} + +\begin{anote} +For the commands providing references to STEP parts, the part number +is denoted by lowercase Roman numerals. Should further reference +commands be provided for other STEP parts, then the same naming scheme +will be used. +\end{anote} + + Some informative bibliographic reference commands are also provided. + +The command \verb|\bibidefo|\ixcom{bibidefo} produces the reference +entry to the IDEF0 document and \verb|\brefidefo|\ixcom{brefidefo} +can be used for citing the reference in the body of the document. + +The commands \verb|\bibidefix|\ixcom{bibidefix} and +\verb|\bibieeedefix|\ixcom{bibieeedefix} produce the reference entry +to the original FIPS version of IDEF1X and the IEEE version of IDEF1X +respectively. +The command \verb|\brefidefix|\ixcom{brefidefix} can be used for +citing an IDEF1X reference in the body of the document. + + IDEF0 and IDEF1X are references \brefidefo{} and \brefidefix{} +in the bibliography. + + +\begin{example} Part of the bibliography for this document looks like: +\begin{verbatim} +\begin{references} +... +\reference{BRYAN, M.,}{SGML --- An Author's Guide to the Standard Generalized + Markup Language,}{Addison-Wesley Publishing Co., 1988. }\label{bryan} +\bibidefo +\bibieeeidefix +\reference{RESSLER, S.,}{The National PDES Testbed Mail Server User's Guide,} + {NSTIR 4508, National Institute of Standards and Technology, + Gaithersburg, MD 20899. January 1991.} \label{ressler} +... +\end{references} +\end{verbatim} +\end{example} + +\begin{example}The source for one of the sentences above was: +\begin{verbatim} +IDEF0 and IDEF1X are references \brefidefo{} and \brefidefix{} in the bibliography. +\end{verbatim} +\end{example} + + +\sclause{Commands for documenting EXPRESS code} \index{express@\Express\} + + + The Supplementary Directives\index{SD} specify the layout of the +documentation of \Express{} code. The following commands are intended +to serve two purposes: +\begin{enumerate} +\item To provide environments for the documentation of entity + attributes, etc.; +\item To provide begin and end tags around all the \Express{} code + documentation. +\end{enumerate} + + This latter purpose is to provide an enabling capability for the +automatic extraction of portions of the documentation of an +\Express{} model so that they could be placed into another document. +For example, tools could be developed that would automatically extract +pieces of resource model documentation and place them into an AP document. + +\begin{anote} +This document uses the \file{hyphenat}\ixpack{hyphenat} +package which enables automatic hyphenation of `words' +containing the underscore character command +%(\verb|\_|\index{_/@\verb|\_|}). +(\verb|\_|\index{_/@\texttt{\bs\_}}). +Such words would normally have to +be coded as \verb|long\_\-word| to ensure potential hyphenation +at the position of the underscore. When using the \file{hyphenat} package +it is an error to put the \verb|\-|\ixcom{-} discretionary +hyphen command after the underscore command as this then stops further +hyphenation. +\end{anote} + + +\ssclause{Environments ecode, eicode and excode} + + The \verb|ecode|\ixenv{ecode} environment is for +tagging \Express{} code. It prints the appropriate title +and sets up the relevant fonts. + +\begin{anexample} The following \latex{} source code: +\begin{verbatim} +\begin{ecode}\ixent{an\_entity} +\begin{verbatm} % read verbatm as verbatim +*) +ENTITY an_entity; + attr : REAL; +END_ENTITY; +(* +\end{verbatm} % read verbatm as verbatim +\end{ecode} +\end{verbatim} + +produces: + +\begin{ecode}\ixent{an\_entity} +\begin{verbatim} +*) +ENTITY an_entity; + attr : REAL; +END_ENTITY; +(* +\end{verbatim} +\end{ecode} +\end{anexample} % end example + + Similarly, the \verb|eicode|\ixenv{eicode} and +\verb|excode|\ixenv{excode} environments are for tagging \ExpressI{} +and \ExpressX{} code and setting up the relevant titles and fonts. + + +\ssclause{Environment attrlist} + + The \verb|attrlist|\ixenv{attrlist} environment produces +the heading for attribute definitions and sets up +a \verb|description|\ixenv{description} list. + +\begin{anexample}The following \latex{} source code: +\begin{verbatim} +\begin{attrlist} +\item[attr\_1] The \ldots +\item[attr\_2] This \ldots +\end{attrlist} +\end{verbatim} + +produces: + +\begin{attrlist} +\item[attr\_1] The \ldots +\item[attr\_2] This \ldots +\end{attrlist} +\end{anexample} % end example + +\ssclause{Environment fproplist} + + The \verb|fproplist|\ixenv{fproplist} environment is similar to +\verb|attrlist|\ixenv{attrlist} except that it is for +formal propositions. + +\begin{anexample}The following \latex{} source code: +\begin{verbatim} +\begin{fproplist} +\item[un\_1] The value of \ldots\ shall be unique. +\item[gt\_0] The value of \ldots\ shall be greater than zero. +\end{fproplist} +\end{verbatim} + +produces: + +\begin{fproplist} +\item[un\_1] The value of \ldots\ shall be unique. +\item[gt\_0] The value of \ldots\ shall be greater than zero. +\end{fproplist} +\end{anexample} % end example + +\ssclause{Other listing environments} + + The environments \verb|iproplist|\ixenv{iproplist}, +\verb|enumlist|\ixenv{enumlist}, and \verb|arglist|\ixenv{arglist} are +similar to \verb|attrlist|\ixenv{attrlist}. + Respectively they are environments for +informal propositions, enumerated items, and argument definitions. + +\ssclause{Indexing} + + The command \verb|\ixent{|\meta{entity}\verb|}|\ixcom{ixent} +generates an index +entry for the entity \meta{entity}. + + There are similar macros, each of which takes the name of the +declaration as its argument, for indexing the other \Express{} declarations: +\verb|\ixenum|\ixcom{ixenum} for enumeration, +\verb|\ixfun|\ixcom{ixfun} for function, +\verb|\ixproc|\ixcom{ixproc} for procedure, +\verb|\ixrule|\ixcom{ixrule} for rule, +\verb|\ixsc|\ixcom{ixsc} for subtype\_constraint, +\verb|\ixschema|\ixcom{ixschema} for schema, +\verb|\ixselect|\ixcom{ixselect} for select, and +\verb|\ixtype|\ixcom{ixtype} for type. + +\ssclause{Documentation tagging} + + Several environments are defined to tag the general documentation +of \Express{} code. \index{express@\Express\} + + The environment \verb+\begin{espec}{+\meta{name}\verb+}+\ixenv{espec} +may be used to enclose, and give a name to, a complete specification +block for an \Express{} entity. There are analogous environments --- +\verb+fspec+\ixenv{fspec}, +\verb+rspec+\ixenv{rspec}, +\verb+sspec+\ixenv{sspec}, and +\verb+tspec+\ixenv{tspec} --- +for functions, rules, schemas and types respectively. + + The \verb|dtext|\ixenv{dtext} environment may be used to anonymously +enclose descriptive text. + +\begin{example}\label{ex:code} Here is the suggested tagged documentation +style for part of an \Express{} model. +\begin{verbatim} +%\ssclause{committee\_def} +\begin{espec}{committee_def} +\begin{dtext} + A committee is composed of an odd number of people. +Each committee also has a name. + The ideal size of a committee is less than three. + +\begin{anote} Figures and tables may also be placed here. \end{anote} % end note +\end{dtext} +\begin{ecode}\ixent{committee\_def} +\begin{verbatm} % read verbatm as verbatim +*) +ENTITY committee_def; + title : name; + members : SET [1:?] OF person; +DERIVE + ideal : BOOLEAN := SIZEOF(members) = 1; +UNIQUE + un1 : title; +WHERE + odd_members : ODD(SIZEOF(members)); +END_ENTITY; +(* +\end{verbatm} % read verbatm as verbatim +\end{ecode} +\begin{attrlist} +\item[title] The name of the committee. +\item[members] The people who form the committee. +\item[ideal] TRUE if there is only one person + on the committee. + That is, if the committee is the ideal size. +\end{attrlist} +\begin{fproplist} +\item[un1] The \nexp{title} of the committee shall be unique. +\item[odd\_members] There shall be an odd number of people + on the committee. +\end{fproplist} +\begin{iproplist} +\item[chair] The members of a committee shall appoint one of + their number as + chair of the committee. +\end{iproplist} +\end{espec} +\end{verbatim} +\end{example} % end example + +\begin{example} +The code in \eref{ex:code} produces the following result: + +\begin{espec}{committee_def} +\begin{dtext} + A committee is composed of an odd number of people. +Each committee also has a name. +The ideal size of a committee is less than three. + +\begin{anote} Figures and tables may also be placed here. \end{anote} % end note +\end{dtext} +\begin{ecode}\ixent{committee\_def} +\begin{verbatim} +*) +ENTITY committee_def; + title : name; + members : SET [1:?] OF person; +DERIVE + ideal : BOOLEAN := SIZEOF(members) = 1; +UNIQUE + un1 : title; +WHERE + odd_members : ODD(SIZEOF(members)); +END_ENTITY; +(* +\end{verbatim} % read verbatm as verbatim +\end{ecode} +\begin{attrlist} +\item[title] The name of the committee. +\item[members] The people who form the committee. +\item[ideal] TRUE if there is only one person on the committee. That is, if + the committee is the ideal size. +\end{attrlist} +\begin{fproplist} +\item[un1] The \nexp{title} of the committee shall be unique. +\item[odd\_members] There shall be an odd number of people on the committee. +\end{fproplist} +\begin{iproplist} +\item[chair] The members of a committee shall appoint one of their number as + chair of the committee. +\end{iproplist} +\end{espec} + +\end{example} % end example + + +\sclause{Commands producing boilerplate text} \index{boilerplate} + + The following commands produce boilerplate text as specified by the +Supplementary Directives\index{SD}. + +\begin{anote} + In the examples, +the parameters of those commands that +take them have been specified in +\textit{this font style} so their effects can +be seen in the resulting printed text. +\end{anote} + +\ssclause{Definition of \ExpressG} + + The \verb|\expressgdef|\ixcom{expressgdef} prints the boilerplate +for where the definition of \ExpressG{} can be found. + +\begin{anexample} +The command \verb|\expressgdef| prints: + +\expressgdef +\end{anexample} + +\ssclause{Major subdivision listing} + + The \verb|majorsublist|\ixenv{majorsublist} +environment prints the boilerplate for the heading of a listing of +major subdivisions of the standard and starts an itemized list. +An illustration of its use is given in \eref{ex:intro} +on page~\pageref{ex:intro}. + +The heading text is produced by the +\verb|\majorsubname|\ixcom{majorsubname} command. + +\begin{anexample} The command \verb|\majorsubname| command prints: + +\majorsubname + +\end{anexample} + +\ssclause{Schema introduction} + + The command \verb|\schemahead{|\meta{schema name}\verb|}|\ixcom{schemahead} prints the heading for a schema clause. + + The command \verb+\schemaintro{+\meta{schema name}\verb+}+\ixcom{schemaintro} +produces the boilerplate for the introduction to an \Express{} schema +clause. + +\begin{anexample}The command \verb|\schemaintro{\nexp{this\_schema}}| prints: + +\schemaintro{\nexp{this\_schema}} +\end{anexample} + + + +\ssclause{Short names of entities} + + The command \verb|\shortnamehead|\ixcom{shortnamehead} prints the +heading for the short names annex. + + The command \verb|\shortnames|\ixcom{shortnames} +produces the boilerplate for the +introduction to the annex listing short names. + +\begin{anexample}The command \verb|\shortnames| prints: + +\shortnames +\end{anexample} %end example + +\ssclause{Registration commands} + + The command \verb|\objreghead|\ixcom{objreghead} prints the heading +for the information object registration annex. + + The command \verb|\docidhead|\ixcom{docidhead} prints the heading +for the document identification subclause. + + + The command +\verb+\docreg{+\meta{version no}\verb+}+\ixcom{docreg} +produces the boilerplate for document registration. The command takes +one parameter: +\meta{version no} which is the version number.\footnote{The +SD say that the version number should be 1 for a first edition IS. +The version number is incremented by one for each corrigenda, +amendment or new edition.} + +\begin{example}The command \verb|\docreg{1}| + prints: + +\docreg{\textit{1}} +\end{example} % end example + + The command \verb|\schemaidhead|\ixcom{schemaidhead} prints the heading +for the schema identification subclause. +The command +\verb|\aschemaidhead{|\meta{schema name}\verb|}|\ixcom{aschemaidhead} +prints the heading for a particular schema identification subsubclause. + + The command +\verb+\schemareg{+\meta{version no}\verb+}{+\meta{p2}\verb+}{+\meta{p3}\verb+}{+\meta{p4}\verb+}{+\meta{p5}\verb+}{+\meta{p6}\verb+}+\ixcom{schemareg} produces the boilerplate concerning +schema registration. The command takes six parameters. +\begin{enumerate} +\item \meta{version no} The version number; +\item \meta{p2} The name of an \Express{} schema (with underscores); +\item \meta{p3} The number of the schema object (typically 1); +\item \meta{p4} The name of the schema, with hyphens replacing any + underscores in the name; +\item \meta{p5} The number identifying the schema; +\item \meta{p6} The clause or annex in which the schema is defined. +\end{enumerate} + +\begin{example}The command \\ + \verb|\schemareg{1}{a\_schema}{3}{a-schema}{5}{clause 6}| +prints: + +\schemareg{\textit{1}}{a\_schema}{\textit{3}}{\textit{a-schema}}{\textit{5}}{\textit{clause 6}} +\end{example} % end example + + +\ssclause{Computer interpretable listings} + + The command \verb|\listingshead|\ixcom{listingshead} prints the +heading for the computer interpretable listings annex. + + The command +\verb|\expurls{|\meta{short}\verb|}{|\meta{express}\verb|}|\ixcom{expurls} +produces the boilerplate for the introduction to the annex +listing short names and \Express, where \meta{short} is the URL for the short +names and \meta{express} is the URL for the \Express. + +\begin{anexample} The command + \verb|\expurls{http:/www.short/}{http://www.express/}| prints: + +\expurls{http://www.short/}{http://www.express/} + +\end{anexample} + +\clearpage +\clause{The \file{ir} package facility} + + The \file{ir}\ixpack{ir} package provides commands and environments +specifically for the ISO~10303 Integrated Resources series of documents. + + Use of this package requires the use of the \file{step}\ixpack{step} +package. + +\sclause{Boilerplate commands} + + The \file{ir} package modifies the \verb|\fwdshortlist|\ixcom{fwdshortlist} +command to produce extra IR-specific boilerplate. + + The following commands produce boilerplate text as specified by the +SD\index{SD}. + + +\ssclause{Integrated resource EXPRESS-G} + + The command \verb|\expressghead|\ixcom{expressghead} prints the +heading for the \ExpressG{} diagrams annex. + + The command \verb+\irexpressg+\ixcom{irexpressg} +produces the boilerplate for the introduction to the integrated +resource \ExpressG{} annex. +\index{expressg@\ExpressG\} + +\begin{anexample}The command \verb|\irexpressg| prints: + +\irexpressg + + \end{anexample} % end example + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%\end{document} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + +\clearpage +\clause{The \file{ap} package facility} + + The \file{ap}\ixpack{ap} package provides commands and environments +specifically for the ISO~10303 Application Protocol series of documents. + + Use of this package requires the use of the \file{step}\ixpack{step} +package. + +\sclause{Preamble commands} + + Certain commands shall be put in the preamble of an AP document. + + The command +\verb+\aptitle{+\meta{title of AP}\verb+}+\ixcom{aptitle} +shall be put into the preamble. \index{preamble} The parameter shall be of +such a form that +it will read naturally in a sentence of the form: +`\ldots for the \meta{title of AP} application protocol.'. + +\begin{anexample} + For the purposes of later examples, the command +\verb|\aptitle{|\texttt{\theap}\verb|}| has been put in the preamble +of this document. +\end{anexample} % end example + + If the AP makes use of one or more +AICs\index{AIC}, then the command \verb|\aicinaptrue|\ixcom{aicinaptrue} +shall be put in the document preamble. + + If a mapping specification is used instead of a mapping table, +the command \verb|\mapspectrue|\ixcom{mapspectrue} shall be put +in the preamble. If mapping templates are used then +\verb|\maptemplatetrue|\ixcom{maptemplatetrue} shall also be put in the +preamble. + + If IDEF1X is used instead of \ExpressG{} as the graphical form for the +ARM, then \verb|\idefixtrue|\ixcom{idefixtrue} shall be put in the preamble. + + + +\sclause{Heading commands} + + These commands start document clauses with particular titles. The +commands that take no parameters are listed in \tref{tab:apnpheads}. +Some of these commands have predefined labels, which are also listed in +the table. +\ixcom{inforeqhead} +\ixcom{uofhead} +\ixcom{applobjhead} +\ixcom{applasserthead} +\ixcom{aimhead} +\ixcom{maptablehead} +\ixcom{templateshead} +\ixcom{aimshortexphead} +\ixcom{confreqhead} +\ixcom{aimlongexphead} +\ixcom{aimshortnameshead} +\ixcom{impreqhead} +\ixcom{aamhead} +\ixcom{aamdefhead} +\ixcom{aamfighead} +\ixcom{armhead} +\ixcom{aimexpressghead} +\ixcom{aimexpresshead} +\ixcom{apusagehead} + +\settowidth{\prwlen}{\quad Application activity model definitions} +\begin{table} +\centering +\caption{AP package parameterless heading commands} +\label{tab:apnpheads} +\begin{tabular}{|l|c|p{\prwlen}|l|} \hline +\textbf{Command} & \textbf{Clause} & \textbf{Default text} & \textbf{Label} \\ \hline +\verb|\inforeqhead| & C & Information requirements & \verb|;sireq| \\ +\verb|\uofhead| & SC & Units of functionality & \verb|;suof| \\ +\verb|\applobjhead| & SC & Application objects & \verb|;sao| \\ +\verb|\applasserthead| & SC & Application assertions & \verb|;saa| \\ +\verb|\aimhead| & C & Application interpreted model & \verb|;saim| \\ +\verb|\mappinghead| & SC & Mapping table, or & \verb|;smap| \\ + & & Mapping specification & \verb|;smap| \\ +\verb|\templateshead| & SSC & Mapping templates & \\ +\verb|\aimshortexphead| & SC & AIM \Express{} short listing & \verb|;saesl| \\ +\verb|\confreqheadhead| & C & Conformance requirements & \verb|;scr| \\ +\verb|\aimlongexphead| & NA & AIM \Express{} expanded listing & \verb|;saeel| \\ +\verb|\aimshortnameshead| & NA & AIM short names & \verb|;sasn| \\ +\verb|\impreqhead| & NA & Implementation method specific requirements & \verb|;simreq| \\ +\verb|\aamhead| & IA & Application activity model & \verb|;saam| \\ +\verb|\aamdefhead| & SC & Application activity model definitions and abbreviations & \verb|| \\ +\verb|\aamfighead| & SC & Application activity model diagrams & \verb|| \\ +\verb|\armhead| & IA & Application reference model & \verb|;sarm| \\ +\verb|\aimexpressghead| & IA & AIM \ExpressG{} & \verb|;saeg| \\ +\verb|\aimexpresshead| & IA & AIM \Express{} listing & \verb|| \\ +\verb|\apusagehead| & IA & Application protocol usage guide & \verb|;sapug| \\ + \hline +\end{tabular} +\end{table} + + The commands listed in \tref{tab:appheads} take parameters. +\ixcom{auofhead} +\ixcom{mapuofhead} +\ixcom{mapobjecthead} +\ixcom{mapattributehead} + +\begin{table} +\centering +\caption{AP package parameterized heading commands} +\label{tab:appheads} +\begin{tabular}{|l|c|l|} \hline +\textbf{Command} & \textbf{Clause} & \textbf{Parameterized title} \\ \hline +\verb|\auofhead| & SSC & \meta{UoF} \\ +\verb|\mapuofhead| & SSC & \meta{UoF} \\ +\verb|\mapobjecthead| & SSSC & \meta{application object} \\ +\verb|\mapattribhead| & SSSSC & \meta{attribute} \\ +\hline +\end{tabular} +\end{table} + +\sclause{Boilerplate commands} + + The following commands produce boilerplate text as specified by the +SD\index{SD}. + +\begin{anote} + In the examples, the parameters of those commands that +take them have been specified in +\textit{this font style} so their effects can +be seen in the resulting printed text. +\end{anote} + +\ssclause{AP introduction} + + The command \verb|\apextraintro|\ixcom{apextraintro} produces extra +boilerplate for the Introduction to an AP. + +\begin{anexample}The command \verb|\apextraintro| prints: + +\apextraintro +\end{anexample} %end example + +\ssclause{AP scope} + + The command \verb+\apscope{+\meta{application purpose and context}\verb+}+\ixcom{apscope} +produces the boilerplate for the start of an AP scope\index{scope} clause. + +\begin{anexample}The command \verb|\apscope{application purpose and context.}| + prints: + +\apscope{\textit{application purpose and context.}} +\end{anexample} + +\ssclause{AP information requirements} + + The command \verb|\inforeqhead|\ixcom{inforeqhead} prints the +heading for the information requirements clause. + + The command \verb+\apinforeq{+\meta{AP purpose}\verb+}+\ixcom{apinforeq} +produces the boilerplate for the clause. + +\begin{anexample}The command \verb|\apinforeq{AP purpose.}| prints: + +\apinforeq{\textit{AP purpose.}} +\end{anexample} % end example + +\ssclause{AP UoF} + + The command \verb|\uofhead|\ixcom{uofhead} prints the heading +for the UoF subclause. + + The environment +\verb+\begin{apuof}+\meta{item list}\verb+\end{apuof}+\ixenv{apuof} +produces the boilerplate for the introduction to the clause. + +\begin{anexample} Remembering that \verb|\aptitle|\ixcom{aptitle} + was set to \texttt{\theap} in the preamble, + the commands +\begin{verbatim} +\begin{apuof} +\item Name of UoF1; +\item Name of UoF2; +\item Name of UoFn. +\end{apuof} +\end{verbatim} +prints: + +\begin{apuof} +\item Name of UoF1; +\item Name of UoF2; +\item Name of UoFn. +\end{apuof} + +\end{anexample} + +\ssclause{AP application objects} + + The command \verb|\applobjhead|\ixcom{applobjhead} prints the +heading for the application objects subclause. + + The command \verb|\apapplobj|\ixcom{apapplobj} produces the +boilerplate for the introduction to the clause. + +\begin{anexample} Remembering that \verb|\aptitle|\ixcom{aptitle} + was set to \texttt{\theap} in the preamble, + the command \verb|\apapplobj| prints: + +\apapplobj + +\end{anexample} + +\ssclause{AP assertions} + + The command \verb|\applasserthead|\ixcom{applasserthead} prints the +heading for the application assertions subclause. + + The command \verb|\apassert|\ixcom{apassert} +produces the boilerplate for the clause. + +\begin{anexample} Remembering that \verb|\aptitle|\ixcom{aptitle} + was set to \texttt{\theap} in the preamble, + the command \verb|\apassert| prints: + +\apassert + +\end{anexample} + + +\ssclause{AP mapping table/specification} + + The command \verb|\mappinghead|\ixcom{mappinghead} prints +the heading for the mapping table or mapping specification subclause. +The heading text depends on whether or not +\verb|\mapspectrue|\ixcom{mapspectrue} was put in the preamble. + + The command \verb|\apmapping|\ixcom{apmapping} +produces the boilerplate for the introduction to the AP mapping table +or specification clause. + +\begin{anote}AICs are included in the boilerplate only if the command +\verb|\aicinaptrue|\ixcom{aicinaptrue} is included +in the preamble. +\end{anote} + +\begin{example}By default, or when \verb|\mapspecfalse| is in +the preamble, the command \verb|\apmapping| + prints: \mapspecfalse + +\apmapping +\end{example} % end example + +\begin{example}When \verb|\mapspectrue| is in the preamble, the command \verb|\apmapping| + prints: \mapspectrue + +\apmapping +\end{example} % end example + +\sssclause{AP mapping templates} + + The command \verb|\aptemplatehead|\ixcom{aptemplatehead} prints +the heading for the mapping template subclause (if any). + + The command \verb|\apmaptemplate|\ixcom{apmaptemplate} prints +the boilerplate for the introduction to the clause. This refers to the +UoFs in the AP. The first of the UoFs shall be labelled as +\verb|\label{;uof1}| and the last of the UoFs shall be +labelled as \verb|\label{;uoflast}|. + +\begin{example} If there are three UoFs, then there should be headings +of the form: +\begin{verbatim} +\mapuofhead{First UoF}\label{;uof1} +... +\mapuofhead{Second UoF}... +... +\mapuofhead{Third UoF}\label{;uoflast} +... +\end{verbatim} +\end{example} + +\begin{example} Assuming that there are three UoFs as in the previous example, +the command \verb|\apmaptemplate| prints: + +\apmaptemplate +\end{example} % end example + + The command \verb|\sstemplates|\ixcom{sstemplates} prints +the two subclauses for the \xword{subtype} and \xword{SuPeRtype} templates. + +\begin{example} \label{ex:sstemplates} In this document, +and noting that the clause +numbering is not the same as in a real AP document, +the command \verb|\sstemplates| + prints: + +\sstemplates + +\end{example} % end example + + +\sssclause{Template headings} + + There are three headings used within a mapping template. + + The command \verb|\signature|\ixcom{signature} prints the underlined +Mapping signature header. + + The command \verb|\parameters|\ixcom{parameters} prints the underlined +Parameter definition header. + + The command \verb|\body|\ixcom{body} prints the underlined +Template body header. + +\begin{anexample} The results of using the \verb|\signature|\ixcom{signature} +and \verb|\parameters|\ixcom{parameters} commands were illustrated +in \eref{ex:sstemplates} on \pref{ex:sstemplates}. +\end{anexample} + + + +\ssclause{AIM short EXPRESS listing} + + The command \verb|\aimshortexphead|\ixcom{aimshortexphead} prints +the heading for the AIM EXPRESS short listing subclause. + + The command \verb|\apshortexpress|\ixcom{apshortexpress} produces +the boilerplate for the +first paragraph of the clause. + +\begin{anote}AICs are included in the boilerplate only if the command +\verb|\aicinaptrue|\ixcom{aicinaptrue} is included in the preamble. +\end{anote} + +\begin{example} +The command \verb|\apshortexpress| without \verb|\aicinaptrue| +in the preamble produces: + +\aicinapfalse +\apshortexpress + +\end{example} % end example + +\begin{example} +With \verb|\aicinaptrue| set in the preamble the command +\verb|\apshortexpress| produces the following: + +\aicinaptrue +\apshortexpress +\end{example} % end example + + +\ssclause{AP conformance} + + The command \verb|\confreqhead|\ixcom{confreqhead} prints the +heading for the conformance requirements clause. + + The command +\verb+\apconformance{+\meta{implementation methods}\verb+}+\ixcom{apconformance} +produces the boilerplate for the introduction to the clause. + + The environment +\verb+\begin{apconformclasses}+\meta{item list}\verb+\end{apconformclasses}+\ixenv{apconformclasses} +provides some additional boilerplate. + +\begin{example}The command \verb|\apconformance{ISO 10303-21, ISO 10303-22}| + prints: + +\apconformance{\textit{ISO 10303-21, ISO 10303-22}} +\end{example} % end example + +\begin{example}The commands + \begin{verbatim} +\begin{apconformclasses} +\item first class; +\item second class; +\item last class. +\end{apconformclasses} +\end{verbatim} + print: + +\begin{apconformclasses} +\item first class; +\item second class; +\item last class. +\end{apconformclasses} +\end{example} + + +\ssclause{EXPRESS expanded listing} + + The command \verb|\aimlongexphead|\ixcom{aimlongexphead} prints +the heading for the AIM expanded listing clause. + + The command \verb|\aimlongexp|\ixcom{aimlongexp} +produces the boilerplate for the introduction to the clause. + +\begin{anexample}The command \verb|\aimlongexp| + prints: + +\aimlongexp +\end{anexample} % end example + +\ssclause{AIM short names} + + The command \verb|\aimshortnamehead|\ixcom{aimshortnamehead} prints +the heading for the AIM short names annex. + + The command \verb|\apshortnames|\ixcom{apshortnames} +produces the boilerplate for the introduction to the AP short name annex. + +\begin{anexample}The command \verb|\apshortnames| + prints: + +\apshortnames +\end{anexample} % end example + +\ssclause{Implementation requirements} + + the command \verb|\impreqhead|\ixcom{impreqhead} prints the heading +for implementation method-specific reguirements. + + The command \verb+\apimpreq{+\meta{schema name}\verb+}+\ixcom{apimpreq} +produces the boilerplate for the requirements on exchange structure. + +\begin{anexample}The command \verb|\apimpreq{schema\_name}| + prints: + +\apimpreq{\textit{schema\_name}} +\end{anexample} % end example + + +\ssclause{AP PICS} + + The command \verb|\picshead|\ixcom{picshead}, +from the \file{step}\ixpack{step} package, +prints the heading for the PICS annex. + + The command \verb|\picsannex|\ixcom{picsannex} +produces the boilerplate for the start of the AP PICS annex. + +\begin{anexample}The command \verb|\picsannex| + prints: + +\picsannex +\end{anexample} % end example + +\ssclause{AAM annex} + + The command \verb|\aamhead|\ixcom{aamhead} prints the heading for +the AAM annex. + + + The command \verb|\apaamintro|\ixcom{apaamintro} + produces the introductory boilerplate for the introduction of +the AP annex on application activity models. + +\begin{anexample} + The command \verb|\apaamintro| prints: + +\apaamintro + +\end{anexample} % end example + +\ssclause{AP AAM definitions} + + The command \verb|\aamdefhead|\ixcom{aamdefhead} prints the heading +for the AAM definitions subclause. + + The command \verb|\apaamdefs|\ixcom{apaamdefs} produces +the boilerplate at the start of +the AP subclause on AAM definitions and abbreviations. + +\begin{anexample} + The command \verb|\apaamdefs| prints: + +\apaamdefs +\end{anexample} % end example + +\ssclause{AAM diagrams annex} + + The command \verb|\aamfighead|\ixcom{aamfighead} prints the heading +for the AAM diagrams subclause. + + The command +\verb|\aamfigrange{|\meta{figure range}\verb|}|\ixcom{aamfigrange} +is used to store the activity model diagram figure range for later use. + +\begin{example} + For the purposes of this document we set +\begin{verbatim} +\aamfigrange{figures F.1 through F.n} +\end{verbatim} + +\aamfigrange{\textit{figures F.1 through F.n}} + +\end{example} + + The command \verb+\aamfigures+\ixcom{aamfigures} +produces the boilerplate for the introduction to an APs AAM figure +subclause. + +\begin{example} Noting that we have set +\verb|\aamfigrange{figures F.1 through F.n}|\ixcom{aamfigrange}, +the command \verb|\aamfigures| prints: + +\aamfigures + +\end{example} + +\ssclause{ARM annex} + + The command \verb|\armhead|\ixcom{armhead} prints the heading for the +ARM annex. + + The command +\verb+\armintro+\ixcom{armintro} +produces the boilerplate for the introduction to the ARM figures. + +\begin{anexample}The command + \verb|\armintro| + prints: + +\armintro +\end{anexample} % end example + +\ssclause{AIM EXPRESS-G annex} + + The command \verb|\aimexpressghead|\ixcom{aimexpressghead} +prints the heading for the AIM \ExpressG{} annex. + + + The command +\verb+\aimexpressg+\ixcom{aimexpressg} +produces the boilerplate for the introduction to an AP's AIM \ExpressG{} +model. + +\begin{anexample}The command \verb|\aimexpressg| + prints: + +\aimexpressg +\end{anexample} % end example + +\ssclause{AIM EXPRESS listing} + + The command \verb|\aimexpresshead|\ixcom{aimexpresshead} prints +the heading for the AIM listing annex. + +% The command \verb|\aimexplisting|\ixcom{aimexplisting} +%produces the boilerplate for the introduction to an AIMs short name and +%\Express{} listing. +% +% +%\begin{example}The command \verb|\aimexplisting| +% prints: +% +%\aimexplisting +%\end{example} + + The command +\verb|\apexpurls{|\meta{short}\verb|}{|\meta{express}\verb|]|\ixcom{apexpurls} +produces the boilerplate for the introduction to the AP annex +listing short names and \Express, where \meta{short} is the URL for the short +names and \meta{express} is the URL for the \Express. + +\begin{anexample} The command \verb|\apexpurls{http:/www.short/}{http://www.express/}| +prints: + +\apexpurls{http://www.short/}{http://www.express/} + +\end{anexample} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%\end{document} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + +\clearpage +\clause{The \file{aic} package facility} + + The \file{aic}\ixpack{aic} package +provides commands and environments specifically +for the ISO~10303 Application Interpreted Construct series of +documents. + + The use of this package requires the use of the +\file{step}\ixpack{step} package. + +\sclause{Heading commands} + + The commands described in this subclause start document clauses with +particular titles. + + The commands that take no parameters are listed in \tref{tab:aicnpheads}. +\ixcom{aicshortexphead} + +\begin{table}[btp] +\centering +\caption{AIC package parameterless heading commands} +\label{tab:aicnpheads} +\begin{tabular}{|l|c|l|l|} \hline +\textbf{Command} & \textbf{Clause} & \textbf{Default text} & \textbf{Label} \\ \hline +\verb|\aicshortexphead| & C & \Express{} short listing & \verb|;sesl| \\ +\hline +\end{tabular} +\end{table} + +\sclause{Boilerplate commands} + + The following commands produce boilerplate text as specified by the +Supplementary Directives. + + +\ssclause{Introduction text} + + The command \verb|\aicextraintro|\ixcom{aicextraintro} +prints additional boilerplate for the Introduction to an AIC. + +\begin{anexample}The command \verb|\aicextraintro| + prints: + +\aicextraintro +\end{anexample} + +\ssclause{Definition of AIC} + + The command \verb|\aicdef|\ixcom{aicdef} +prints the definition of `AIC'. It shall only be used within the +\verb|definitions|\ixenv{definitions} environment. + +\begin{anexample}The commands: + \begin{verbatim} + \begin{definitions} + \aicdef + \end{definitions} + \end{verbatim} + produce: + +\begin{definitions} +\aicdef +\end{definitions} +\end{anexample} % end example + +\ssclause{Short EXPRESS listing} + + The command \verb|\aicshortexphead|\ixcom{aicshortexphead} prints +the heading for the AIC short \Express{} annex. + + The command \verb|\aicshortexpintro|\ixcom{aicshortexpintro} +prints boilerplate for the introduction to the short \Express{} listing. + +\begin{anexample}The command \verb|\aicshortexpintro| + prints: + +\aicshortexpintro +\end{anexample} % end example + +\ssclause{EXPRESS-G figures} + + The command \verb|\expressghead|\ixcom{expressghead}, +from the \file{step} package, prints the heading for the \ExpressG{} diagrams +annex. + + The command +\verb+\aicexpressg+\ixcom{aicexpressg} +prints boilerplate for the introduction to the \ExpressG\ figures. + +\begin{anexample}The command \verb|\aicexpressg| + prints: + +\aicexpressg +\end{anexample} + +%%%%%%%%%%%%%%%%%%%%%%%%% +%%%\end{document} +%%%%%%%%%%%%%%%%%%%%%%%%% + +\clearpage +\clause{The \file{ats} package facility} + + The \file{ats}\ixpack{ats} package +provides commands and environments specifically +for the ISO~10303 Abstract Test Suite series of +documents. + + The use of this package requires the use of the +\file{step}\ixpack{step} package. + +\sclause{Preamble commands} + + Certain commands shall be put in the preamble\index{preamble} +of an ATS document. + + The command +\verb+\APnumber{+\meta{number}\verb+}+\ixcom{APnumber} shall be put +in the preamble, +where \meta{number} is the ISO 10303 part number of the corresponding AP. + +\begin{example} +For the purposes of later examples, the command +\verb+\APnumber{+\texttt{\theAPpartno}\verb+}+ has been put in the preamble. +of this document. +\end{example} + + The command +\verb+\APtitle{+\meta{title of AP}\verb+}+\ixcom{APtitle} shall be put +in the preamble, +where \meta{title of AP} is the ISO 10303 part title of the +corresponding AP. This must be given in such a manner that it reads +sensibly in a sentence of the form `\ldots for ISO 10303-299, +application protocol \meta{title of AP}.' + +\begin{example} +For the purposes of later examples, the command +\verb+\APtitle{+\texttt{\theAPtitle}\verb+}+ +has been put in the preamble of this document. +\end{example} + + The command +\verb+\mapspectrue+\ixcom{mapspectrue} +shall be put in the preamble if the AP uses a mapping specification rather +than a mapping table. + +\sclause{Heading commands} + + These commands start document clauses with particular titles. +The commands that take no parameters are listed in \tref{tab:atshead}. +\ixcom{purposeshead} +\ixcom{domainpurposehead} +\ixcom{aepurposehead} +\ixcom{apobjhead} +\ixcom{apasserthead} +\ixcom{aimpurposehead} +%%%\ixcom{extrefpurposehead} +\ixcom{implementpurposehead} +%%%\ixcom{rulepurposehead} +\ixcom{otherpurposehead} +\ixcom{gtpvchead} +\ixcom{generalpurposehead} +\ixcom{gvcatchead} +\ixcom{gvcprehead} +\ixcom{gvcposthead} +\ixcom{atchead} +\ixcom{prehead} +\ixcom{posthead} +\ixcom{confclassannexhead} +\ixcom{postipfilehead} +%%%\ixcom{excludepurposehead} +\ixcom{atsusagehead} + +\settowidth{\prwlen}{\quad General verdict criteria for all abstract} +\begin{table} +\centering +\caption{ATS package parameterless heading commands} \label{tab:atshead} +\begin{tabular}{|l|c|p{\prwlen}|} \hline +\textbf{Command} & \textbf{Clause} & \textbf{Default text} \\ \hline +\verb|\purposeshead| & C & Test purposes \\ +\verb|\aepurposehead| & SC & Application element test purposes \\ +\verb|\aimpurposehead| & SC & AIM test purposes \\ +\verb|\implementpurposehead| & SC & Implementation method test purposes \\ +\verb|\domainpurposehead| & SC & Domain test purposes \\ +\verb|\otherpurposehead| & SC & Other test purposes \\ + +\verb|\gtpvchead| & C & General test purposes and verdict criteria \\ +\verb|\generalpurposehead| & SC & General test purposes \\ +\verb|\gvcatchead| & SC & General verdict criteria for all abstract test cases \\ +\verb|\gvcprehead| & SC & General verdict criteria for preprocessor abstract test cases \\ +\verb|\gvcposthead| & SC & General verdict criteria for postprocessor abstract test cases \\ + +\verb|\atchead| & C & Abstract test cases \\ +\verb|\prehead| & SSC & Preprocessor \\ +\verb|\precoveredhead| & SSSC & Test purposes covered \\ +\verb|\preinputhead| & SSSC & Input specification \\ +\verb|\precriteriahead| & SSSC & Verdict criteria \\ +\verb|\preconstraintshead| & SSSC & Constraints on values \\ +\verb|\preexechead| & SSSC & Execution sequence \\ +\verb|\preextrahead| & SSSC & Extra details \\ + + +\verb|\posthead| & SSC & Postprocessor \\ +\verb|\postcoveredhead| & SSSC & Test purposes coverage \\ +\verb|\postinputhead| & SSSC & Input specification \\ +\verb|\postcriteriahead| & SSSC & Verdict criteria \\ +\verb|\postexechead| & SSSC & Execution sequence \\ +\verb|\postextrahead| & SSSC & Extra details \\ + +\verb|\confclassannexhead| & NA & Conformance classes \\ +\verb|\postipfilehead| & NA & Postprocessor input specification file names \\ + +\verb|\atsusagehead| & IA & Usage scenarios \\ + +\verb|\apasserthead| & SSC & Application assertions \\ +%%%\verb|\extrefpurposehead| & SC & External reference test purposes \\ +%%%%\verb|\rulepurposehead| & SC & \rulepurposename\ \\ +%%%\verb|\excludepurposehead| & NA & Excluded test purposes \\ +\hline +\end{tabular} +\end{table} + + + The commands that take a parameter are listed in \tref{tab:atsphead}. +\ixcom{apobjhead} +\ixcom{aimenthead} +\ixcom{atctitlehead} +\ixcom{confclasshead} + +\begin{table} +\centering +\caption{ATS package parameterized heading commands} \label{tab:atsphead} +\begin{tabular}{|l|c|l|} \hline +Command & Clause & Parameterized title \\ \hline +\verb|\apobjhead| & SSC & \meta{Application object n} \\ +\verb|\aimenthead| & SSC & \meta{Entity name} \\ +\verb|\atctitlehead| & SC & \meta{Title} \\ +\verb|\confclasshead| & SC & Conformance class \meta{number} \\ \hline +\end{tabular} +\end{table} + + +\sclause{Keyword commands} + + Several keyword (headings) are used in documenting a test case. +\latex{} commands for these keywords are given in \tref{tab:atskey}. +\ixcom{atssummary} +\ixcom{atscovered} +\ixcom{atsinput} +\ixcom{atsconstraints} +\ixcom{atsverdict} +\ixcom{atsexecution} +\ixcom{atsextra} + +\begin{table} +\centering +\caption{ATS package keyword commands} \label{tab:atskey} +\begin{tabular}{|l|l|} \hline +Command & Effect \\ \hline +\verb|\atssummary| & \atssummary{} \\ +\verb|\atscovered| & \atscovered{} \\ +\verb|\atsinput| & \atsinput{} \\ +\verb|\atsconstraints| & \atsconstraints{} \\ +\verb|\atsverdict| & \atsverdict{} \\ +\verb|\atsexecution| & \atsexecution{} \\ +\verb|\atsextra| & \atsextra{} \\ \hline +\end{tabular} +\end{table} + +\sclause{Boilerplate commands} + + The following commands produce boilerplate text. + +\begin{anote} + In the examples, the +parameters of those commands that take them have been specified in +\textit{this font style} so that their +effects can be seen in the printed text. +\end{anote} + +\ssclause{ATS introduction} + + The command +\verb|\atsintroendbp|\ixcom{atsintroendbp} + produces the boilerplate +for the end of the Introduction to an ATS. + +\begin{anexample} Remembering that in the preamble + \verb|\APnumber|\ixcom{APnumber} was set to \texttt{\theAPpartno} + and \verb|\APtitle|\ixcom{APtitle} was set to \texttt{\theAPtitle}, +the command \verb|\atsintroendbp| prints: + +\atsintroendbp + +\end{anexample} + + +\ssclause{ATS scope} + + The command \verb|\scopeclause|\ixcom{scopeclause}, from the \file{isov2} +class, prints the heading for the Scope clause. + + The command +\verb|\atsscopebp|\ixcom{atsscopebp} +produces boilerplate for an ATS \textit{Scope} +clause. + +\begin{anexample} Remembering that in the preamble + \verb|\APnumber|\ixcom{APnumber} was set to \texttt{\theAPpartno}, +the command \verb|\atsscopebp| prints: + +\atsscopebp + +\end{anexample} + +\ssclause{Test purpose} + + The command \verb|\purposehead|\ixcom{purposehead} prints the heading +for the test purposes clause. + + The command \verb|\atspurposebp|\ixcom{atspurposebp} +prints boilerplate for the introduction to the clause. + +\begin{anexample} Remembering that in the preamble + \verb|\APnumber|\ixcom{APnumber} was set to \texttt{\theAPpartno}, +the command \verb|\atspurposebp| prints: + +\atspurposebp + +\end{anexample} + +\ssclause{Application element test purposes} + + The command \verb|\aepurposehead|\ixcom{aepurposehead} prints the +heading for the application element test purposes subclause. + + The command +\verb|\aetpbp|\ixcom{aetpbp} +prints boilerplate for the clause. + +\begin{anexample} Remembering that in the preamble + \verb|\APnumber|\ixcom{APnumber} was set to \texttt{\theAPpartno}, +the command \verb|\aetpbp| prints: + +\aetpbp + +\end{anexample} + +\ssclause{AIM test purposes} + + The command \verb|\aimpurposehead|\ixcom{aimpurposehead} prints the +heading for the AIM test purposes subclause. + + The command +\verb|\aimtpbp|\ixcom{aimtpbp} +prints boilerplate for the clause. + +\begin{anexample} Remembering that in the preamble + \verb|\APnumber|\ixcom{APnumber} was set to \texttt{\theAPpartno}, +the command \verb|\aimtpbp| prints: + +\aimtpbp + +\end{anexample} + +\ssclause{Implementation method test purposes} + + The command \verb|\implementpurposehead|\ixcom{implementpurposehead} prints the +heading for the implementation method test purposes subclause. + + The command +\verb|\atsimtpbp|\ixcom{atsimtpbp} +prints boilerplate for the clause. + +\begin{anexample} Remembering that in the preamble + \verb|\APnumber|\ixcom{APnumber} was set to \texttt{\theAPpartno}, +the command \verb|\atsimtpbp| prints: + +\atsimtpbp + +\end{anexample} + + + +\ssclause{General test purposes and verdict criteria} + + The command \verb|\gtpvchead|\ixcom{gtpvchead} prints the heading +for the general test purposes and verdict criteria clause. + + The command +\verb|\atsgtpvcbp|\ixcom{atsgtpvcbp} +prints boilerplate for the clause + + +\begin{anexample} The command \verb|\atsgtpvcbp| prints: + +\atsgtpvcbp +\end{anexample} + +\ssclause{General test purposes} + + The command \verb|\generalpurposehead|\ixcom{generalpurposehead} prints +the heading for the general test purposes subclause. + + The command +\verb|\gtpbp|\ixcom{gtpbp} +prints boilerplate for the suclause. + +\begin{anexample} Remembering that in the preamble + \verb|\APnumber|\ixcom{APnumber} was set to \texttt{\theAPpartno}, +the command \verb|\gtpbp| prints: + +\gtpbp + +\end{anexample} + +\ssclause{General verdict criteria} + + The command \verb|\gvcatchead|\ixcom{gvcatchead} prints the +heading for the general verdict criteria for all cases subclause. + + The command +\verb|\gvatcbp|\ixcom{gvatcbp} +prints boilerplate for the subclause. + +\begin{anexample} Remembering that in the preamble + \verb|\APnumber|\ixcom{APnumber} was set to \texttt{\theAPpartno}, +the command \verb|\gvatcbp| prints: + +\gvatcbp + +\end{anexample} + +\ssclause{General verdict criteria for preprocessor} + + The command \verb|\gvcprehead|\ixcom{gvcprehead} prints the +heading for the general verdict criteria for preprocessor cases subclause. + + The command +\verb|\gvcprebp|\ixcom{gvcprebp} +prints boilerplate for the subclause. + +\begin{anexample} Remembering that in the preamble + \verb|\APnumber|\ixcom{APnumber} was set to \texttt{\theAPpartno}, +the command \verb|\gvcprebp| prints: + +\gvcprebp + +\end{anexample} + +\ssclause{General verdict criteria for postprocessor} + + + The command \verb|\gvcposthead|\ixcom{gvcposthead} prints the +heading for the general verdict criteria for postprocessor cases subclause. + + The command +\verb|\gvcpostbp|\ixcom{gvcpostbp} +prints boilerplate for the subclause. + +\begin{anexample} Remembering that in the preamble + \verb|\APnumber|\ixcom{APnumber} was set to \texttt{\theAPpartno}, +the command \verb|\gvcpostbp| prints: + +\gvcpostbp + +\end{anexample} + +\ssclause{Abstract test cases} + + The command \verb|\atchead|\ixcom{atchead} prints the heading +for the abstract test cases clause. + + The command +\verb|\atcbp|\ixcom{atcbp} +prints the first paragraph of the boilerplate for the clause. + +\begin{example} The command \verb|\atcbp| prints: + +\atcbp +\end{example} + + The command +\verb|\atcbpii|\ixcom{atcbpii} +prints paragraphs~3 and onwards of the boilerplate. + +\begin{example} The command \verb|\atcbpii| +prints: + +\atcbpii + +\end{example} + +\ssclause{Preprocessor} + + The command \verb|\prehead|\ixcom{prehead} prints the title +for the preprocessor subsubclause. + + The command +\verb|\atcpretpc|\ixcom{atcpretpc} +prints boilerplate for the subclause. + +\begin{anexample} The command \verb|\atcpretpc| prints: + +\atcpretpc +\end{anexample} + +\ssclause{Postprocessor} + + The command \verb|\posthead|\ixcom{posthead} prints the title +for the postrocessor subsubclause. + + The command +\verb|\atcposttpc|\ixcom{atcposttpc} +prints boilerplate for the subclause. + +\begin{anexample} The command \verb|\atcposttpc| prints: + +\atcposttpc +\end{anexample} + + + +\ssclause{Conformance class} + + The command \verb|\confclassannexhead|\ixcom{confclassannexhead} +prints the heading for the conformance classes annex heading. + + The command +\verb|\atsnoclassesbp|\ixcom{atsnoclassesbp} +prints the entire boilerplate for the +\textit{Conformance class} annex when the AP has no conformance classes. + +\begin{example} Remembering that in the preamble + \verb|\APnumber|\ixcom{APnumber} was set to \texttt{\theAPpartno}, +the command \verb|\atsnoclassesbp| prints: + +\atsnoclassesbp + +\end{example} + + The command \verb|\confclasshead{|\meta{number}\verb|}|\ixcom{confclasshead} +prints the heading for a conformance class \meta{number} subclause. + + The command +\verb|\confclassbp{|\meta{number}\verb|}|\ixcom{confclassbp} +prints the +boilerplate for the introduction to a conformance class subclause, where +\meta{number} is the number of the conformance class. + +\begin{example} Remembering that in the preamble + \verb|\APnumber|\ixcom{APnumber} was set to \texttt{\theAPpartno}, +the command \verb|\confclassbp{27}| prints: + +\confclassbp{\textit{27}} + +\end{example} + +\ssclause{Postprocessor input specification file names} + + The command \verb|\postipfilehead|\ixcom{postipfilehead} prints +the heading for the postprocessor input file names annex. + + The command +\verb|\pisfbp{|\meta{12 or 21}\verb|}{|\meta{url}\verb|}{|\meta{ref}\verb|}|\ixcom{pisfbp} +prints the boilerplate for the annex. + +\begin{anexample} The command +\verb|\pisfbp{12}{http://www.mel.nist.gov/step/parts/parts3456/wd}{\ref{TabB1}}| prints: + +\pisfbp{12}{http://www.mel.nist.gov/step/parts/part3456/wd}{\ref{tabB1}} + +\end{anexample} + +%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%\end{document} +%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\normannex{Additional commands} \label{anx:extraiso} + +\sclause{Internal commands} + + The code implementing the various facilities includes many commands +not described in the body of this document. Any command that includes +the commercial at sign (\verb|@|) in its name shall not be used by any author; +the implementer of the package code reserves the right to modify or delete +these at any time without giving any notice. + + Internal commands that have names consisting only of letters may be +used in a document at the author's own risk. These may be changed, but +if so notification will be given. + +\sclause{Boilerplate} + + Much of the boilerplate text is maintained in separate \file{.tex} +files and many of the commands that generate boilerplate merely +\verb|\input| +the appropriate file. + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%\end{document} +%%%%%%%%%%%%%%%%%%%%%%%%%% + +\normannex{Ordering of LaTeX commands} \label{anx:lord} + + The \latex{} commands to produce an ISO~10303 document are: +\begin{verbatim} +\documentclass[<options>]{isov2} +\usepackage{stepv13} % required package +\usepackage{irv12} % for an IR document +\usepackage{apv12} % for an AP document +\usepackage{aicv1} % for an AIC document +\usepackage{atsv11} % for an ATS document +\usepackage[<options>]{<name>} % additional packages +\standard{<standard identifier>} +\yearofedition{<year>} +\languageofedition{<parenthesized code letter>} +\partno{<part number>} +\series{<series title>} +\doctitle{<title on cover page>} +\ballotcycle{<number>} +\aptitle{<title of AP>} % if doc is an AP +\aicinaptrue % if doc is an AP that uses AICs +\mapspectrue % if doc is an AP that uses mapping spec. +\APnumber{<number>} % if doc is an ATS +\APtitle{<title>} % if doc is an ATS +\mapspectrue % if doc is an ATS and AP uses mapping spec. + % other preamble commands +\begin{document} +\STEPcover{< title commands >} +\Foreword % start Foreword & ISO boilerplate + \fwdshortlist % STEP boilerplate +\endForeword{<param1>}{<param2>} % end Foreword & boilerplate +\begin{Introduction} % start Introduction & boilerplate + \aicextraintro % extra boilerplate for an AIC + \apextraintro % extra boilerplate for an AP + % your text +\end{Introduction} +\stepparttitle{<Part title>} +\scopeclause % Clause 1: Scope clause + \apscope{<AP purpose>} % boilerplate if an AP + % text of scope +\normrefsclause % Clause 2: Normative references + \normrefbp{<document type>} % boilerplate + \begin{nreferences} + % \isref{}{} and/or \disref{}{} list of normative references + \end{nreferences} +\defclause % definitions clause + \partidefhead % defs from Part1 subclause + % olddefinition list + \refdefhead{<ISO 10303-NN>} % defs from Part NN subclause + % olddefinition list + \otherdefhead % defs in this part + % definition list +\symabbclause % Symbols & abbreviations clause + % symbol lists +% THE BODY OF THE DOCUMENT +\bibannex % optional; the final Bibliography + % bibliography listing +% the index +\end{document} +\end{verbatim} + + +\sclause{Body of a resource document} \index{integrated resource} + + The body of a resource document has the following structure: + +\begin{verbatim} +\schemahead{<Schema name>} % repeat for each schema + \introsubhead % intro subclause + % text + \fcandasubhead % concepts subclause + % text + \typehead{<Schema>} % if type defs + \atypehead{<type>} % type heading + \entityhead{<Schema>}{<group>} % if entity defs + \anentityhead{<entity>} % entity heading + \rulehead{<Schema>} % if rule defs + \arulehead{<rule>} % rule heading + \functionhead{<Schema>} % if function defs + \afunctionhead{<function>} % function heading +% repeat above for each schema +\shortnamehead % Annex A: Short names of entities + \irshortnames % boilerplate + % list of short names +\objreghead % Annex B: Information object registration + \docidhead % Document identification subclause + \docreg{<param1>} % boilerplate + \schemaidhead % Schema identification subclause +% Either (for single schema) + \schemareg{<6 parameters>} % boilerplate +% Or (for multiple schemas) repeat: + \aschemaidhead{<schema name>} % Schema id subsubclause + \schemareg{<6 parameters>} +\listingshead % Annex C: Computer interpretable listings + \expurls{<short>}{<express>} % boilerplate +\expressghead % Annex D: EXPRESS-G figures + \irexpressg % boilerplate + % EXPRESS-G diagrams +\techdischead % optional Technical discussions + % text +\exampleshead % optional Examples + % text +\end{verbatim} + + +\sclause{Body of an application protocol} \index{AP} + + The body of an AP document has the following structure: + +\begin{verbatim} +\inforeqhead % Clause 4: Information requirements + \apinforeq{<param1>} % boilerplate + \uofhead % Clause 4.1: Units of functionality + \begin{apuof} % boilerplate + % \item list of UoFs + \end{apuof} + \auofhead{<UoF1>} % repeat for each UoF + % text + \applobjhead % Clause 4.2: Application objects + \apapplobj % boilerplate + % text + \applasserthead % Clause 4.3: Application assertions + \apassert % boilerplate + % text +\aimhead % Clause 5: Application interpreted model + \maptablehead % Clause 5.1: Mapping table/specification + \apmapping % boilerplate + \maptemplatehead % if mapping templates used + \apmaptemplate % template boilerplate + \sstemplates % sup/sub templates + \templatehead + % text + \mapuofhead{<Uof>} % mapping for <UoF> + \mapobjecthead{<object>} + % mapping for <object> + \mapattributehead{<attr>} + % mapping for <attr> + \aimshortexphead % Clause 5.2: AIM EXPRESS short listing + \apshortexpress % boilerplate + % text +\confreqhead % Clause 6: Conformance requirements + \apconformance{<param1>} % boilerplate + \begin{apconformclasses} % optional boilerplate + % \item list + \end{apconformclasses} + % text +\aimlongexphead % Annex A: AIM EXPRESS expanded listing + \aimlongexp % boilerplate + % text +\aimshortnameshead % Annex B: AIM short names + \apshortnames % boilerplate + % text +\impreqhead % Annex C: Impl. specific reqs + \apimpreq{<schema name>} % boilerplate +\picshead % Annex D: PICS + \picsannex % boilerplate + % text +\objreghead % Annex E: Information object registration + \docidhead % Annex E.1: Document identification + \docreg{<param1>} % boilerplate + \schemaidhead % Annex E.2: Schema identification + \apschemareg{<6 params>} % boilerplate +\aamhead % Annex F: Application activity model + \aamfigrange{<figure range>} % Figure range for AAM diagrams + \apaamintro % boilerplate + % text + \aamdefhead % Annex F.1: AAM defs and abbreviations + \apaamdefs % boilerplate + % text + \aamfighead % Annex F.2: AAM diagrams + \aamfigures % boilerplate + % IDEF0 diagrams +\armhead % Annex G: Application reference model + \armintro % boilerplate + % ARM figures +\aimexpressghead % Annex H: AIM EXPRESS-G + \aimexpressg % boilerplate + % AIM figures +\listingshead % Annex J: Computer interpretable listings + \apexpurls{<short>}{<express>} % boilerplate +\apusagehead % optional Annex: AP usage + % text +\techdischead % optional Annex: Technical discussions + % text +\end{verbatim} + +\sclause{Body of an AIC} \index{AIC} + + The body of an AIC document has the following structure: + +\begin{verbatim} +\aicshortexphead % Clause 4: EXPRESS short listing + \aicshortexpintro % boilerplate + \fcandasubhead % Clause 4.1 fundamental concepts + % text + \typehead{<Schema>} % if type definitions + \atypehead{<type>} % repeat for each type + \entityhead{<Schema>}{} % if entity defs + \anentityhead{<entity>} % repeat for each entity + \functionhead{<Schema>} % if function defs + \afunctionhead{<function>} % repeat for each function +\shortnamehead % Annex A: Short names of entities + \shortnames % boilerplate +\objreghead % Annex B: Information object registration + \docidhead % Annex B.1: Document identification + \docreg{<version no>} % boilerplate + \schemaidhead % Annex B.2: Schema identification + \schemareg{<6 parameters>} % boilerplate +\expressghead % Annex C: EXPRESS-G diagrams + \aicexpressg % boilerplate +\listingshead % Annex D: Computer interpretable listings + \expurls % boilerplate +\techdischead % optional Annex: Technical discussions +\end{verbatim} + +\sclause{Body of an ATS document}\index{ATS} + + The body of an Abstract Test Suite +document has the following structure: + +\begin{verbatim} +\purposeshead % Clause 4: Test purposes + \atspurposebp % boilerplate + \aepurposehead % 4.1 Application element test purposes + \aetpbp % boilerplate + \apobjhead{<object>} % 4.1.n + ... + \aimpurposehead % 4.2 AIM test purposes + \aimtpbp % boilerplate + \aimenthead{<entity>} % 4.2.n + ... + \implementpurposehead % (optional) 4.3 Implementation t.p + \atsimtpbp % boilerplate + % text + \domainpurposehead % (optional) 4.2+ Domain test purposes + % text + \otherpurposehead % (optional) 4.2+ Other test purposes + % text +\gtpvchead % Clause 5: General t.p and verdict criteria + \atsgtpvcbp % boilerplate + \generalpurposehead % 5.1 General test purposes + \gtpbp % boilerplate + ... + \gvcatchead % 5.2 General verdict criteria for all ATC + \gvatcbp % boilerplate + ... + \gvcprehead % 5.3 General verdict criteria for preprocessor + \gvcprebp % boilerplate + ... + \gvcposthead % 5.4 General verdict criteria for postprocessor + \gvcpostbp % boilerplate + ... +\atchead % Clause 6: Abstract test cases + \atcbp % boilerplate (para 1) + % your para 2 + \atcbpii % boilerplate (paras 3+) + \atctitlehead{<title>} % 6.n an abstract test case + \prehead % 6.n.1 Preprocessor + \precoveredhead.. % Test purposes covered + \atcpretpc % boilerplate + \preinputhead % Input specification + % text + \precriteriahead % Verdict criteria + % text + \preconstrainthead % Constraints on values + % text + \preexechead % (optional) Execution sequence + % text + \preextrahead % (optional) Extra details + % text + \posthead % 6.n.2 Postprocessor + \postcoveredhead % Test purposes covered + % text + \atcposttpc % boilerplate + \postinputhead % Input specification + % text + \postcriteriahead % Verdict criteria + % text + \postexechead % (optional) Execution sequence + % text + \postextra % (optional) Extra details + % text +\confclassannexhead % Annex A: Conformance classes + \atsnoclassesbp % boilerplate if no conformance classes, else + \confclasshead{<number>} % A.n Conformance class <number> + \confclassbp{<number>} % boilerplate + % text + ... +\postipfilehead % Annex B: Postprocessor input file names + \pisfbp{..}{..}{..} % boilerplate + ... +\objreghead % Annex C: Information object registration + \docreg{<partno>} % registration boilerplate +\atsusagehead % Annex D: Usage scenarios + % text +\end{verbatim} + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% object registration annex +\objreghead + +\docreg{-1} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%% +%%%\end{document} +%%%%%%%%%%%%%%%%%%%%%%%%% + +\infannex{Deprecated, deleted, new and modified commands} + + This release has involved many internal changes to the \latex{} +\file{.sty} files. In particular boilerplate text is, as far as possible, +maintained in external \file{.tex} files in order to save memory +space within the \latex{} processor. + + +%%%%%%%%%%%%%%%%%%%%%%%%% +%%%\end{document} +%%%%%%%%%%%%%%%%%%%%%%%%% + +\sclause{New commands} + + The commands that are new in this release are: + +\begin{itemize} +%%%%%%%%%%%%%%%%%%%%%%%%%% STEP %%%%%%%%%%%%%%%%%%%%%%%%%%% +\item \verb|\bibieeeidefo|\ixcom{bibieeeidefo} STEP: reference to IDEF0 document; +\item \verb|\exampleshead|\ixcom{exampleshead} STEP: clause heading; +\item \verb|\expressgdef|\ixcom{expressgdef} STEP: location of \ExpressG{} definition; + +\item \verb|\Theseries|\ixcom{Theseries} STEP: print \verb|\series| argument; +\item \verb|\theseries|\ixcom{theseries} STEP: print \verb|\series| argument in lowercase; +\item \verb|\ifanir|,\ixcom{ifanir} + \verb|\anirtrue|,\ixcom{anirtrue} + \verb|\anirfalse|\ixcom{anirfalse} STEP: flag for an IR document; +\item \verb|\ifhaspatents|,\ixcom{ifhaspatents} + \verb|\haspatentstrue|,\ixcom{haspatentstrue} + \verb|\haspatentsfalse|\ixcom{haspatentsfalse} STEP: flag for known patents; +\item \verb|\ifmapspec|,\ixcom{ifmapspec} + \verb|\mapspectrue|,\ixcom{mapspectrue} + \verb|\mapspecfalse|\ixcom{mapspecfalse} STEP: flag for mapping specification; + +\item \verb|\ixent|\ixcom{ixent} STEP: index an \Express{} \xword{entity}; +\item \verb|\ixenum|\ixcom{ixenum} STEP: index an \Express{} \xword{enumeration}; +\item \verb|\ixfun|\ixcom{ixfun} STEP: index an \Express{} \xword{function}; +\item \verb|\ixproc|\ixcom{ixproc} STEP: index an \Express{} \xword{procedure}; +\item \verb|\ixrule|\ixcom{ixrule} STEP: index an \Express{} \xword{rule}; +\item \verb|\ixsc|\ixcom{ixsc} STEP: index an \Express{} \xword{subtype\_constraint}; +\item \verb|\ixschema|\ixcom{ixschema} STEP: index an \Express{} \xword{schema}; +\item \verb|\ixselect|\ixcom{ixselect} STEP: index an \Express{} \xword{select}; +\item \verb|\ixtype|\ixcom{ixtype} STEP: index an \Express{} \xword{type}; + +\item \verb|\maptableorspec|\ixcom{maptableorspec} STEP: prints `table' or `specification'; + +\item \verb|\xword|\ixcom{xword} STEP: prints an \Express{} keyword; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% AP %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\item \verb|\apmaptemplate|\ixcom{apmaptemplate} AP: boilerplate; +\item \verb|\apusagehead|\ixcom{apusagehead} AP: clause heading; +\item \verb|\ifidefix|,\ixcom{ifidefix} + \verb|\idefixtrue|,\ixcom{idefixtrue} + \verb|\idefixfalse|\ixcom{idefixfalse} AP: flag for an IDEF1X ARM; +\item \verb|\ifmaptemplate|,\ixcom{ifmaptemplate} + \verb|\maptemplatetrue|,\ixcom{maptemplatetrue} + \verb|\maptemplatefalse|\ixcom{maptemplatefalse} AP: flag for + using mapping templates; +\item \verb|\mapattributehead|\ixcom{mapattributehead} AP: clause heading; +\item \verb|\mapobjecthead|\ixcom{mapobjecthead} AP: clause heading; +\item \verb|\mapuofhead|\ixcom{mapuofhead} AP: clause heading; +\item \verb|\sstemplates|\ixcom{sstemplates} AP: boilerplate; +\item \verb|\templateshead|\ixcom{templateshead} AP: clause heading; +%%% \item \verb|\apmappingspec|\ixcom{} internal (not used?) + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ATS %%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\item \verb|\atcposttpc|\ixcom{atcposttpc} ATS: boilerplate; +\item \verb|\atcpretpc|\ixcom{atcpretpc} ATS: boilerplate; +\item \verb|\atsimtpbp|\ixcom{atsimtpbp} ATS: boilerplate; +\item \verb|\atsusagehead|\ixcom{atsusagehead} ATS: clause heading. + + +\end{itemize} + + + + + +\sclause{Modified commands} + + The commands that have been modified in this release are: + +\begin{itemize} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%% STEP %%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\item STEP: The \verb|\Introduction|\ixcom{Introduction} command is + now the \verb|Introduction|\ixenv{Introduction} environment, + with no argument; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% IR %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\item \verb|\irexpressg|\ixcom{irexpressg} IR: takes no argument; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% AP %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\item \verb|\aimexpressg|\ixcom{aimexpressg} AP: takes no argument; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% AIC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\item \verb|\aicexpressg|\ixcom{aicexpressg} AIC: takes no argument; + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ATS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\item \verb|\atcbpii|\ixcom{atcbpii} ATS: takes no argument; +\item \verb|\atspurposebp|\ixcom{atspurposebp} ATS: takes no argument; +\item \verb|\pisfbp|\ixcom{pisfbp} ATS: takes 3 arguments. + + +\end{itemize} + + + + + +\sclause{Deleted commands} + + The commands that have been deleted in this release are: + +\begin{itemize} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% STEP %%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\item \verb|\fwddivlist|\ixcom{fwddivlist} STEP: used in Foreword; +\item \verb|\fwdpartslist|\ixcom{fwdpartslist} STEP: used in Foreword; + +\item \verb|\introend|\ixcom{introend} STEP: was for use at the end of the + Introduction; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% IR %%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\item \verb|\irschemaintro|\ixcom{irschemaintro} IR: + has been replaced by + \verb|\schemaintro|\ixcom{schemaintro}; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% AP %%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\item \verb|\apintroend|\ixcom{apintroend} AP: + has been replaced by + \verb|\apextraintro|\ixcom{apextraintro}; + +\item \verb|\apschemareg|\ixcom{apschemareg} AP: use + \verb|\schemareg|\ixcom{schemareg} instead; + +\item \verb|\apmappingtable|\ixcom{apmappingtable} AP: + has been replaced by + \verb|\apmapping|\ixcom{apmapping}; + +\item \verb|\armfigures|\ixcom{armfigures} AP: + has been replaced by + \verb|\armintro|\ixcom{armintro}; + +\item \verb|\maptablehead|\ixcom{maptablehead} AP: + has been replaced by + \verb|\mappinghead|\ixcom{mappinghead}; + +\item \verb|\modelscopehead|\ixcom{modelscopehead} AP: was the heading + for a `Model scope' annex; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% AIC %%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\item \verb|\aicexpressghead|\ixcom{aicexpressghead} AIC: + use \verb|\expressghead|\ixcom{expressghead} instead; +\item \verb|\aicshortnames|\ixcom{aicshortnames} AIC: use + \verb|\expurls|\ixcom{expurls} instead; +\item \verb|\aicshortnameshead|\ixcom{aicshortnameshead} AIC: + use \verb|\shortnamehead|\ixcom{shortnamehead} instead; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ATS %%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\item \verb|\excludepurposehead|\ixcom{excludepurposehead} ATS: + was the heading for an `Exclude purposes' clause. + +\end{itemize} + + +%%%%%%%%%%%%%%%%%%%%%%% +%%%\end{document} +%%%%%%%%%%%%%%%%%%%%%%% + + +% sgmlannx.tex latex and SGML + +\infannex{LaTeX, the Web, and *ML} \label{anx:sgml} \index{SGML} + + ISO are becoming more interested in electronic sources for their +standards as well as the traditional camera-ready copy. Acronyms like +PDF, HTML, SGML and XML have been bandied about. Fortunately documents +written using \latex{} are well placed to be provided in a variety of +electronic formats. A comprehensive treatment of \latex{} with respect +to this topic is provided by Goossens and Rahtz~\bref{lwebcom}. + + SGML (Standard Generalized Markup Language) is a document tagging +language that is described in ISO~8879~\bref{sgml} and whose usage is described +in~\bref{bryan}, among others. The principal +mover behind SGML is Charles Goldfarb from IBM, who has authored a detailed +handbook~\bref{goldfarb} on the SGML standard. + + The concepts lying behind both \latex{} and SGML are similar, but on the face +of it they are distinctly different in both syntax and capabilities. ISO is +migrating towards electronic versions of its standard documents and, naturally, +would prefer these to be SGML tagged. + Like \latex, SGML has a +concept of style files, which are termed DTDs, and both systems support +powerful macro-like capabilities. SGML provides for logical document +markup and not typesetting --- commercial SGML systems often use +\tex{} or \latex{} as their printing engine, as does the NIST SGML +environment for ISO~10303~\bref{pandl}. + + + +NIST have SGML tagged some STEP documents +using manual methods, which are time consuming and expensive. +In about 1997 there was a NIST +effort underway to develop an auto-tagger that would (semi-) automatically +convert +a \latex{} tagged document to one with SGML tags. This tool assumed a +fixed set of \latex{} macros and a fixed DTD. + The design of an auto-tagger +essentially boils down to being able to convert from a source document tagged +according to a \latex{} style file to one which is tagged according to an +SGML DTD. + Fully automatic conversion is really only possible if the authors' +of the documents to be translated avoid using any `non-standard' macros within +their documents. There is a program called \file{ltx2x}\index{ltx2x} available +from SOLIS, which replaces \latex{} commands within a document with +user-defined text strings~\bref{ltx2x}. This can be used as a basis for +a \latex{} to whatever auto-tagger, provided the \latex{} commands are not +too exotic. + + HTML is a simple markup language, based on SGML, and is used for the +publication of many documents on the Web. XML is a subset of SGML and appears +to being taken up by every man and his dog as \emph{the} document markup +language. HTML is being recast in terms of XML instead of SGML. PDF is a page +description language that is a popular format for display of documents +on the Web. + + \latex{} documents can be output in PDF by using pdfLaTeX. Instead +of a \file{.dvi} file being produced a \file{.pdf} file is output directly. +The best +results are obtained when PostScript fonts rather than Knuth's cm fonts +are used. Noting that the \file{isov2} class provides an \verb|\ifpdf| command, +a general form for documents to be processed by either \latex{} or pdfLaTeX +is +\begin{verbatim} +\documentclass{isov2} +\usepackage{times} % PostScript fonts Times, Courier, Helvetica +\ifpdf + \pdfoutput=1 % request PDF output + \usepackage[pdftex]{graphicx} +\else + \usepackage{graphicx} +\fi +... +\end{verbatim} + + There are several converters available to transform a \latex{} document +into an HTML document, but like \file{ltx2x} they generally do their own +parsing of the source file, and unlike \file{ltx2x} are typically limited +to only generating HTML. Eitan Gurari's \file{TeX4ht}\index{TeX4ht} +suite is a notable +exception (see Chapter~4 and Appendix~B of~\bref{lwebcom}). It uses the +\file{.dvi} file as input, so that all the parsing is done by \tex, and can be +configured to generate a wide variety of output formats. +A set of \file{TeX4ht} configuration files are available for converting +STEP \latex{} documents into HTML\footnote{Later, configuration files for XML +output will be developed.}. + + It is highly recommended that for the purposes of ISO~10303, document editors +refrain from defining their own \latex{} macros. If new generally applicable +\latex{} commands are found to be necessary, these should be sent to the +editor of this document for incorporation into +the \file{isov2}\ixclass{isov2} class, the \file{step}\ixpack{step} +package and/or appropriate other packages. + + Some other points to watch when writing \latex{} documents that will assist +in translations into *ML are given below. Typically, attention to these points +will make it easier to parse the \latex{} source. + +\begin{itemize} +\item Avoid using the \verb|\label|\ixcom{label} command within + clause headings or captions. It can just as easily be placed immediately + after these constructs. +\item Avoid using the \verb|\index|\ixcom{index} command within + clause headings or captions. It can just as easily be placed immediately + after these constructs. +\item Use all the specified tagging constructs when defining an \Express{} + model --- this will also assist any program that attempts to extract + \Express{} source code and descriptive text from a document. +\end{itemize} + + + +\infannex{Obtaining LaTeX and friends} \label{anx:getstuff} + + \latex{} is a freely available document typesetting system. There are many +public domain additions to the basic system, for example the \file{iso.cls} +and \file{step.sty} styles. The information below gives pointers to where +you can obtain \latex{} etc., from the\index{Internet} Internet. + + + \latex{} runs on a wide variety of hardware, from PCs to Crays. Source to build +a \latex{} system is freely available via anonymous ftp\index{ftp} +from what is called CTAN\index{CTAN} +(Comprehensive \tex\ Archive Network). +There are three sites; pick the one nearest to you. +\begin{itemize} +\item \url{ftp.dante.de} CTAN in Germany; +\item \url{ftp.tex.ac.uk} CTAN in the UK; +\item \url{ctan.tug.org} CTAN in the USA; +\end{itemize} +The top level CTAN directory +for \latex{} and friends is \url{/tex-archive}. CTAN contains a wide variety +of (La)TeX sources, style files, and software tools and scripts to assist in +document processing. + +\begin{anote} +CTAN is maintained by the \tex{} Users Group (TUG). Their homepage +\isourl{http://www.tug.org} should be consulted for the current list of CTAN sites and mirrors. +\end{anote} + +\begin{comment} + +\sclause{SOLIS} \index{SOLIS} + + SOLIS is the \textit{SC4 On Line Information Service}. It contains many electronic +sources of STEP related documents. The relevant top level directory is +\url{pub/subject/sc4}. + In particular, SOLIS contains the source for this document +and the \file{.sty} files, as well as other \latex{} related files. +The \latex{} root directory is \url{sc4/editing/latex}. +The latest versions of the \latex{} +related files are kept in the sub-directory \url{latex/current}. +Some \latex{} related programs are also available in the +\url{latex/programs} sub-directory. + + There are several ways of accessing SOLIS; instructions +are detailed by Ressler~\bref{ressler} and Rinaudot~\bref{rinaudot}. +Copies of these reports may be obtained by telephoning the +IPO Office at \verb|+1 (301) 975-3983|, although they are probably somewhat +dated by now. +The simplest method is to point your browser at the following URL: \\ +\isourl{http://www.nist.gov/sc4} + +\end{comment} + +\bibannex +\label{biblio} + +\begin{references} +\reference{LAMPORT, L.,}{LaTeX --- A Document Preparation System,} + {Addison-Wesley Publishing Co., 2nd edition, 1994} \label{lamport} +\reference{WILSON, P. R.,}{LaTeX for standards: The LaTeX package files + user manual,}% + {NISTIR, + National Institute of Standards and Technology, + Gaithersburg, MD 20899. June 1996.} \label{doc:isorot} +\reference{GOOSENS, M., MITTELBACH, F. and SAMARIN, A.,}{% + The LaTeX Companion,} + {Addison-Wesley Publishing Co., 1994} \label{goosens} +\reference{GOOSENS, M. and RAHTZ, S.,}{% + The LaTeX Web Companion --- Integrating TeX, HTML, and XML,} + {Addison-Wesley Publishing Co., 1999} \label{lwebcom} +\reference{CHEN, P. and HARRISON, M.A.,}{Index preparation and + processing,}{Software--Practice and Experience, 19(9):897--915, + September 1988.} \label{chen} +%\reference{KOPKA, H. and DALY, P.W.,}{A Guide to LaTeX,} +% {Addison-Wesley Publishing Co., 1993.} \label{kopka} +\reference{ISO 8879:1986,}{Information processing --- + Text and office systems --- + Standard Generalized Markup Language (SGML)}{} \label{sgml} +\reference{GOLDFARB, C.F.,}{The SGML Handbook,} + {Oxford University Press, 1990.} \label{goldfarb} +\reference{BRYAN, M.,}{SGML --- An Author's Guide to the Standard Generalized + Markup Language,}{Addison-Wesley Publishing Co., 1988. }\label{bryan} +\reference{PHILLIPS, L., and LUBELL, J.,}{An SGML Environment for STEP,}% + {NISTIR 5515, + National Institute of Standards and Technology, + Gaithersburg, MD 20899. November 1994.} \label{pandl} +\reference{WILSON, P. R.,}{LTX2X: A LaTeX to X Auto-tagger,}% + {NISTIR, + National Institute of Standards and Technology, + Gaithersburg, MD 20899. June 1996.} \label{ltx2x} +\bibidefo +\bibieeeidefix +\begin{comment} +\reference{RESSLER, S.,}{The National PDES Testbed Mail Server User's Guide,} + {NSTIR 4508, National Institute of Standards and Technology, + Gaithersburg, MD 20899. January 1991.} \label{ressler} +\reference{RINAUDOT, G. R.,}{STEP On Line Information Service (SOLIS),} + {NISTIR 5511, National Institute of Standards and Technology, + Gaithersburg, MD 20899. October 1994. } \label{rinaudot} +\end{comment} +\end{references} + + +% the INDEX +\input{stepman.ind} + + + +\end{document} + |