diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-13 00:00:19 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-13 00:00:19 +0000 |
commit | eab57a8facc6155cd720075b6da474f5c656dad9 (patch) | |
tree | 71b069ecb3437eeb37ae2ff8772095a64cc28cef /Master/texmf-dist/tex | |
parent | cee304b733b97f3e40ce2eba5d01ade4c92fec32 (diff) |
nassflow
git-svn-id: svn://tug.org/texlive/trunk@1127 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/nassflow/flow.sty | 373 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/nassflow/manual.cls | 598 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/nassflow/manual.sty | 504 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/nassflow/nassi.sty | 422 |
4 files changed, 1897 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/nassflow/flow.sty b/Master/texmf-dist/tex/latex/nassflow/flow.sty new file mode 100644 index 00000000000..fa04248d6a6 --- /dev/null +++ b/Master/texmf-dist/tex/latex/nassflow/flow.sty @@ -0,0 +1,373 @@ +% flow.sty 5 september 1989, C.M. Lindhout. +% +% Copyright (C) by CAWCS, Royal Netherlands Navy. +% This program may be freely used and copied but may not be sold +% without the author's written permission. This notice must remain +% in any copy or derivative. +% +% Please send improvements, bug fixes, comments, etc., to +% Marion van Geest, +% CAWCS, +% Royal Netherlands Navy, +% P.O.BOX 10000, +% 1780 CA Den Helder, +% The Netherlands. + +% Modifications. +% -------------- +% Version 2, march 1993, +% 1) Error in empty \THEN in \IF statement corrected +% 2) \tenrm for typesetting second parameter in \STRUCT replaced by \rm\small. +% The reason for using \tenrm in the first place, was that originally +% flow.sty was designed to be used with a very specific documentstyle that +% was always typeset in 11pts. When flow.sty was adapted for more general +% use, this \tenrm was forgotten. \rm\small serves the same purpose in our +% document style, but is generally a better solution. + +\ProvidesPackage{flow}[1989/09/05 v2.0 Flow macro's.] +% +\newdimen\unitwidth% +\unitwidth=60pt% +\newbox\thentext% +\newbox\elsetext% +\newbox\savethentext% +\newbox\saveelsetext% +\newdimen\unitheight% +\newdimen\unitysize% +\newdimen\unitxsize% +\newdimen\unitspace% +\newdimen\wa% +\newdimen\ha% +\newdimen\wb% +\newdimen\hb% +\newdimen\wda% +\newdimen\hta% +\newdimen\wdb% +\newdimen\htb% +% +\def\setiftext#1#2{\setbox\thentext=\hbox{#1}\setbox\elsetext=\hbox{#2}}% +\setiftext{}{}% +% +\def\cvline#1{% + \hbox{\kern.5\unitwidth\rule{0.0067in}{#1}}% +}% +% +\def\chline#1{% + \hbox{% + \raise.5\unitheight% + \hbox to #1{\leaders\hrule height0.0067in\hfill}% + }% +}% +% +\def\VCENTER#1{% + \raise.5\unitspace% + \hbox{#1}% + \rule{0pt}{\unitheight}% +}% +% +\def\makepicture#1{% + \ifvmode% + \cvline{.5\unitspace} + \hbox to \unitwidth{\hfil\hbox{#1}\hfil}% + \cvline{.5\unitspace} + \else% + \chline{.5\unitspace}% + \VCENTER{#1}% + \chline{.5\unitspace}% + \fi% +}% +% +\def\ACTION#1{\makepicture{\makeaction{#1}}}% +% +\def\makeaction#1{% + \wa=0.86\unitwidth% + \begin{picture}(90,60)% + \put(00,00){\line( 0, 1){60}}% + \put(90,00){\line( 0, 1){60}}% + \put(00,00){\line( 1, 0){90}}% + \put(00,60){\line( 1, 0){90}}% + \put(02,00){% + \vbox to \unitysize{% + \vfil% + \parbox{\wa}{\raggedright#1}% + \vfil% + }% + }% + \end{picture}% +}% +% +\def\PROC#1#2{\makepicture{\makeproc{#1}{#2}}}% +% +\def\makeproc#1#2{% + \wa=.76\unitwidth% + \wb=.80\unitwidth% + \ha=.56\unitwidth% + \begin{picture}(90,60) + \put(00,00){\line( 0, 1){60}} + \put(05,00){\line( 0, 1){60}} + \put(85,00){\line( 0, 1){60}} + \put(90,00){\line( 0, 1){60}} + \put(00,00){\line( 1, 0){90}} + \put(00,60){\line( 1, 0){90}} + \put(07,02){% + \vbox to \ha{% + \vfil% + \parbox{\wa}{\raggedright#2}% + \vfil% + \vbox to 2ex{}% + }% + }% + \put(05,02){% + \vbox to 2ex{% + \hbox to \wb{\leaders\hrule height0.0067in\hfill}% + \vfil% + \hbox to \wb{\hfil#1\hfil}% + }% + }% + \end{picture}% +}% +% +\def\LABEL#1{\makepicture{\makelabel{#1}}}% +% +\def\makelabel#1{% + \begin{picture}(30,30) + \put(15,15){\circle{30}} + \put(00,00){\makebox(30,30){#1}} + \end{picture}% +}% +% +\def\makeif#1{% + \wa=\unitxsize% + \advance\wa by -2ex% + \wb=\unitxsize% + \advance\wb by -6ex% + \begin{picture}(90,60) + \put(00,30){\line( 3, 2){45}} + \put(45,60){\line( 3,-2){45}} + \put(90,30){\line(-3,-2){45}} + \put(45,00){\line(-3, 2){45}} + \put(90,33){\hbox to 0pt{\copy\elsetext\hss}} + \put(00,00){\vbox to 0pt{\hbox to 43\unitlength{\hfil\copy\thentext}\vss}} + \put(00,30){% + \parbox{\unitxsize}{% + \parshape=3 3ex\wb 1ex\wa 3ex\wb% + \begin{center}% + #1% + \end{center}% + }% + }% + \end{picture}% +}% +% +\def\IF#1\THEN#2\ELSE#3\ENDIF{% + \setbox0=\vbox{#2}% + \setbox1=\vbox{#3}% + \wda=\wd0% + \hta=\ht0% + \wdb=\wd1% + \htb=\ht1% + \hbox{% + \vbox{% + \makepicture{\makeif{#1}}% + }% + \kern-.5\unitspace\chline{.5\unitspace}% + \ifdim\wda=0pt% + \wa=.5\unitwidth% + \advance\wa by 0.0067in% + \else% + \wa=\wda% + \fi% + \ifdim\wdb=0pt% + \advance\wa by -\unitwidth% + \advance\wa by .5\unitspace% + \else% + \advance\wa by -.5\unitwidth% + \fi% + \chline{\wa}% + \rule{0.0067in}{.5\unitheight}% + }% + \hbox{% + \vbox{% + \ifdim\htb>\hta% + \hb=\htb% + \advance\hb by -\hta% + \cvline{\hb}% + \fi% + \box0% + }% + \ifdim\wdb=0pt% + \hbox{% + \kern.5\unitspace% + \rule{0.0067in}{\hta}% + \kern.5\unitspace% + }% + \else% + \vbox{% + \ifdim\hta>\htb% + \ha=\hta% + \advance\ha by -\htb% + \cvline{\ha}% + \fi% + \box1% + }% + \fi% + }% + \kern -0.0067in% + \hbox{% + \kern.5\unitwidth% + \ifdim\wda=0pt% + \wa=.5\unitwidth% + \advance\wa by .0067in% + \else + \wa=\wda% + \fi% + \ifdim\wdb=0pt% + \advance\wa by -.5\unitwidth% + \advance\wa by .5\unitspace% + \fi% + \rule{\wa}{0.0067in}% + }% +}% +% +\def\WHILE#1#2\ENDWHILE{% + \IF{#1}% + \THEN{% + \setbox\savethentext=\copy\thentext% + \setbox\saveelsetext=\copy\elsetext% + \setbox\elsetext=\copy\savethentext% + \setbox\thentext=\copy\saveelsetext% + \ifdim\wd\thentext=0pt% + \ifdim\wd\elsetext=0pt% + \setiftext{n}{y}% + \fi% + \fi% + \REPEAT{% + \setbox\thentext=\copy\savethentext% + \setbox\elsetext=\copy\saveelsetext% + #2% + }% + \UNTIL{#1}% + }% + \ELSE{}% + \ENDIF% +}% +% +\def\REPEAT#1\UNTIL#2{% + \setbox0=\vbox{#1}% + \wda=\wd0% + \hta=\ht0% + \hbox{% + \kern.5\unitwidth% + \ifdim\wda=0pt% + \wa=\unitwidth% + \else% + \wa=\wda% + \fi% + \advance\wa by -.5\unitwidth% + \advance\wa by .5\unitspace% + \rule{\wa}{0.0067in}% + }% + \kern -0.0067in% + \hbox{% + \box0% + \kern.5\unitspace% + \rule{0.0067in}{\hta}% + \kern.5\unitspace% + }% + \hbox{% + \vbox{% + \makepicture{\makeif{#2}}% + }% + \kern-.5\unitspace\chline{.5\unitspace}% + \ifdim\wda=0pt% + \wa=\unitwidth% + \else% + \wa=\wda% + \fi% + \advance\wa by -\unitwidth% + \advance\wa by .5\unitspace% + \chline{\wa}% + \rule[.5\unitheight]{0.0067in}{.5\unitheight}% + }% +}% +% +\def\WHEN#1#2{% + \hbox{% + \vbox{% + \hbox{% + \kern.5\unitspace% + \parbox{\unitxsize}{\raggedright#1}% + }% + \kern.5\unitspace% + \chline{\unitwidth}% + }% + {#2}% + \chline{.5\unitspace}% + }% +}% +% +\def\CASE#1#2\ENDCASE{% + \setbox0=\vbox{#2}% + \wda=\wd0% + \hta=\ht0% + \setbox\savethentext=\copy\thentext% + \setbox\saveelsetext=\copy\elsetext% + \setiftext{}{}% + \makepicture{\makeif{#1}}% + \setbox\thentext=\copy\savethentext% + \setbox\elsetext=\copy\saveelsetext% + \hbox{% + \cvline{\hta}% + \vbox{% + \box0% + \kern-0.0067in% + \hbox to \wda{\leaders\hrule height0.0067in\hfill}% + }% + \ha=\hta% + \advance\ha by -.5\unitheight% + \rule{0.0067in}{\ha}% + \kern.5\unitspace% + }% +}% +% +\def\STRUCT#1#2#3{% + \vbox{% + \unitheight=0.7\unitwidth% + \unitysize=0.6\unitwidth% + \unitxsize=0.9\unitwidth% + \unitspace=0.1\unitwidth% + \unitlength=0.01\unitwidth% + \baselineskip=0pt% + \lineskip=0pt% + \parindent=0pt% + \parskip=0pt% + \linethickness{0.0067in}% + \hbox{% + \hbox to .5\unitspace{}% + \hbox{% + \begin{picture}(90,50) + \put(45,15){\oval(90,30)} + \put(00,00){\makebox(90,30){#1}} + \end{picture}% + \hbox to .5\unitwidth{}% + \wa=\textwidth% + \advance\wa by -1.5\unitwidth% + \raise\unitspace% + \hbox{\rm\small\parbox{\wa}{#2}}% + }% + }% + \cvline{.5\unitspace}% + {#3}% + \cvline{.5\unitspace}% + \hbox{% + \hbox to .5\unitspace{}% + \hbox{% + \begin{picture}(90,30) + \put(45,15){\oval(90,30)} + \put(00,00){\makebox(90,30){return}} + \end{picture}% + }% + }% + }% +}% +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/nassflow/manual.cls b/Master/texmf-dist/tex/latex/nassflow/manual.cls new file mode 100644 index 00000000000..e3ea6e13808 --- /dev/null +++ b/Master/texmf-dist/tex/latex/nassflow/manual.cls @@ -0,0 +1,598 @@ +% Manual.cls 5 february 1997, by Johannes Braams, based on: +% Manual.sty 11 july 1989, derived from article.sty 8 april 1985 +% Implementattion of the manual page style used at the CAWCS for general +% software user documentation. +% +% Copyright (C) 1989 by Marion van Geest, +% Center for the Automation of Weapon and Command Systems, +% Royal Netherlands Navy +% +% Manual defines some commands and an environment: +% +% \tool{name}{1 line description}{version number} +% \begin{para}{title} .. \end{para} +% used to document all sorts of software tools in Unix-like +% manual page style +% \package{name}{version number} +% used to document Ada package specifications +% \urm{name}{version number} +% used to document all sorts of software tools in +% users reference manuals +% (titlepage is mandatory) +% +% and its own pagestyle so \pagestyle cannot be used +% +% Contact: +% +% Marion van Geest, +% KM/CAWCS +% P.O. Box 10000 +% 1780 CA Den Helder +% The Netherlands + +\ProvidesClass{manual}[1997/02/05 v2.0 CAWCS manuals] + +\newcommand\@ptsize{} +\newif\if@restonecol +\newif\if@titlepage +\@titlepagefalse +\if@compatibility\else +\DeclareOption{a4paper} + {\setlength\paperheight {297mm}% + \setlength\paperwidth {210mm}} +\DeclareOption{a5paper} + {\setlength\paperheight {210mm}% + \setlength\paperwidth {148mm}} +\DeclareOption{b5paper} + {\setlength\paperheight {250mm}% + \setlength\paperwidth {176mm}} +\DeclareOption{letterpaper} + {\setlength\paperheight {11in}% + \setlength\paperwidth {8.5in}} +\DeclareOption{legalpaper} + {\setlength\paperheight {14in}% + \setlength\paperwidth {8.5in}} +\DeclareOption{executivepaper} + {\setlength\paperheight {10.5in}% + \setlength\paperwidth {7.25in}} +\DeclareOption{landscape} + {\setlength\@tempdima {\paperheight}% + \setlength\paperheight {\paperwidth}% + \setlength\paperwidth {\@tempdima}} +\fi +\if@compatibility + \renewcommand\@ptsize{0} +\else +\DeclareOption{10pt}{\renewcommand\@ptsize{0}} +\fi +\DeclareOption{11pt}{\renewcommand\@ptsize{1}} +\DeclareOption{12pt}{\renewcommand\@ptsize{2}} +\if@compatibility\else +\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse} +\fi +\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue} +\DeclareOption{draft}{\setlength\overfullrule{5pt}} +\if@compatibility\else +\DeclareOption{final}{\setlength\overfullrule{0pt}} +\fi +\if@compatibility\else +\DeclareOption{onecolumn}{\@twocolumnfalse} +\fi +\DeclareOption{twocolumn}{\@twocolumntrue} +\DeclareOption{leqno}{\input{leqno.clo}} +\DeclareOption{fleqn}{\input{fleqn.clo}} +\DeclareOption{openbib}{% + \AtEndOfPackage{% + \renewcommand\@openbib@code{% + \advance\leftmargin\bibindent + \itemindent -\bibindent + \listparindent \itemindent + \parsep \z@ + }% + \renewcommand\newblock{\par}}% +} + +\ExecuteOptions{letterpaper,10pt,oneside,onecolumn,final} +\ProcessOptions +\input{size1\@ptsize.clo} + + %Page layout inserts + +\setlength\vsize{29.5cm} +\setlength\hsize{21cm} +\setlength\topmargin{-36\p@} +\setlength\oddsidemargin{36\p@} +\setlength\evensidemargin\z@ +\setlength\textheight{24cm} +\setlength\textwidth{15.0cm} +\setlength\parindent\z@ +\setlength\parskip\z@ +\setlength\marginparsep\z@ +\setlength\marginparwidth\z@ + +%end of inserts + + + +\renewcommand\theenumi{\@arabic\c@enumi} +\renewcommand\theenumii{\@alph\c@enumii} +\renewcommand\theenumiii{\@roman\c@enumiii} +\renewcommand\theenumiv{\@Alph\c@enumiv} +\newcommand\labelenumi{\theenumi.} +\newcommand\labelenumii{(\theenumii)} +\newcommand\labelenumiii{\theenumiii.} +\newcommand\labelenumiv{\theenumiv.} +\renewcommand\p@enumii{\theenumi} +\renewcommand\p@enumiii{\theenumi(\theenumii)} +\renewcommand\p@enumiv{\p@enumiii\theenumiii} +\newcommand\labelitemi{\textbullet} +\newcommand\labelitemii{\normalfont\bfseries \textendash} +\newcommand\labelitemiii{\textasteriskcentered} +\newcommand\labelitemiv{\textperiodcentered} + +\newenvironment{description} + {\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\descriptionlabel}} + {\endlist} +\newcommand*\descriptionlabel[1]{\hspace\labelsep + \normalfont\bfseries #1} +\if@titlepage + \newenvironment{abstract}{% + \titlepage + \null\vfil + \@beginparpenalty\@lowpenalty + \begin{center}% + \bfseries \abstractname + \@endparpenalty\@M + \end{center}}% + {\par\vfil\null\endtitlepage} +\else + \newenvironment{abstract}{% + \if@twocolumn + \section*{\abstractname}% + \else + \small + \begin{center}% + {\bfseries \abstractname\vspace{-.5em}\vspace{\z@}}% + \end{center}% + \quotation + \fi} + {\if@twocolumn\else\endquotation\fi} +\fi +\newenvironment{verse} + {\let\\\@centercr + \list{}{\itemsep \z@ + \itemindent -1.5em% + \listparindent\itemindent + \rightmargin \leftmargin + \advance\leftmargin 1.5em}% + \item\relax} + {\endlist} +\newenvironment{quotation} + {\list{}{\listparindent \z@ + \itemindent \listparindent + \rightmargin \leftmargin + \parsep \z@ \@plus\p@}% + \item\relax} + {\endlist} +\newenvironment{quote} + {\list{}{\rightmargin\leftmargin}% + \item\relax} + {\endlist} + +\renewcommand \theequation {\@arabic\c@equation} + +\if@compatibility +\newenvironment{titlepage} + {% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse\newpage + \fi + \thispagestyle{empty}% + \setcounter{page}\z@ + }% + {\if@restonecol\twocolumn \else \newpage \fi + } +\else +\newenvironment{titlepage} + {% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse\newpage + \fi + \thispagestyle{empty}% + \setcounter{page}\@ne + }% + {\if@restonecol\twocolumn \else \newpage \fi + \if@twoside\else + \setcounter{page}\@ne + \fi + } +\fi + +\setlength\arraycolsep{5\p@} +\setlength\tabcolsep{6\p@} +\setlength\arrayrulewidth{.4\p@} +\setlength\doublerulesep{2\p@} +\setlength\tabbingsep{\labelsep} +\skip\@mpfootins = \skip\footins +\setlength\fboxsep{3\p@} +\setlength\fboxrule{.4\p@} + +\newcounter{part} +\newcounter {section} +\newcounter {subsection}[section] +\newcounter {subsubsection}[subsection] +\newcounter {paragraph}[subsubsection] +\newcounter {subparagraph}[paragraph] + +\renewcommand \thepart {\@Roman\c@part} +\renewcommand \thesection {\@arabic\c@section} +\renewcommand\thesubsection {\thesection.\@arabic\c@subsection} +\renewcommand\thesubsubsection{\thesubsection .\@arabic\c@subsubsection} +\renewcommand\theparagraph {\thesubsubsection.\@arabic\c@paragraph} +\renewcommand\thesubparagraph {\theparagraph.\@arabic\c@subparagraph} + +\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +\DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal} +\DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal} + +\newcommand\@pnumwidth{1.55em} +\newcommand\@tocrmarg{2.55em} +\newcommand\@dotsep{4.5} +\setcounter{tocdepth}{3} + +\newcommand\tableofcontents{% + \section*{\contentsname + \@mkboth{% + \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}% + \@starttoc{toc}% + } + +\newcommand*\l@part[2]{% + \ifnum \c@tocdepth >-2\relax + \addpenalty\@secpenalty + \addvspace{2.25em \@plus\p@}% + \begingroup + \setlength\@tempdima{3em}% + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + {\leavevmode + \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par + \nobreak + \if@compatibility + \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}}% + \fi + \endgroup + \fi} + +\newcommand*\l@section[2]{% + \ifnum \c@tocdepth >\z@ + \addpenalty\@secpenalty + \addvspace{1.0em \@plus\p@}% + \setlength\@tempdima{1.5em}% + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \bfseries + \advance\leftskip\@tempdima + \hskip -\leftskip + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \endgroup + \fi} + +\newcommand*\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}} +\newcommand*\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}} +\newcommand*\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}} +\newcommand*\l@subparagraph{\@dottedtocline{5}{10em}{5em}} + +\newcommand\listoffigures{% + \section*{\listfigurename + \@mkboth{\MakeUppercase\listfigurename}% + {\MakeUppercase\listfigurename}}% + \@starttoc{lof}% + } +\newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} +\newcommand\listoftables{% + \section*{\listtablename + \@mkboth{% + \MakeUppercase\listtablename}{\MakeUppercase\listtablename}}% + \@starttoc{lot}% + } +\let\l@table\l@figure + +\newdimen\bibindent +\setlength\bibindent{1.5em} +\newenvironment{thebibliography}[1] + {\section*{\refname + \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}}% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \sloppy + \clubpenalty4000 + \@clubpenalty \clubpenalty + \widowpenalty4000% + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +\newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em} +\let\@openbib@code\@empty + +\newenvironment{theindex} + {\if@twocolumn + \@restonecolfalse + \else + \@restonecoltrue + \fi + \columnseprule \z@ + \columnsep 35\p@ + \twocolumn[\section*{\indexname}]% + \@mkboth{\MakeUppercase\indexname}% + {\MakeUppercase\indexname}% + \thispagestyle{plain}\parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \let\item\@idxitem} + {\if@restonecol\onecolumn\else\clearpage\fi} + +\newcommand\@idxitem{\par\hangindent 40\p@} +\newcommand\subitem{\@idxitem \hspace*{20\p@}} +\newcommand\subsubitem{\@idxitem \hspace*{30\p@}} +\newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax} + +\renewcommand\footnoterule{% + \kern-3\p@ + \hrule\@width.4\columnwidth + \kern2.6\p@} +\newcommand\@makefntext[1]{% + \parindent 1em% + \noindent + \hb@xt@1.8em{\hss\@makefnmark}#1} + + +\setcounter{topnumber}{2} +\def\topfraction{.7} +\setcounter{bottomnumber}{1} +\def\bottomfraction{.3} +\setcounter{totalnumber}{3} +\def\textfraction{.2} +\def\floatpagefraction{.5} +\setcounter{dbltopnumber}{2} +\def\dbltopfraction{.7} +\def\dblfloatpagefraction{.5} + +\long\def\@makecaption#1#2{ + \vskip 10pt + \setbox\@tempboxa\hbox{#1: #2} + \ifdim \wd\@tempboxa >\hsize + \unhbox\@tempboxa + \par + \else + \hbox to\hsize{\hfil\box\@tempboxa\hfil} + \fi} + + +\newcounter{figure} +\def\thefigure{\@arabic\c@figure} +\def\fps@figure{tbp} +\def\ftype@figure{1} +\def\ext@figure{lof} +\def\fnum@figure{Figure \thefigure} +\def\figure{\@float{figure}} +\let\endfigure\end@float +\@namedef{figure*}{\@dblfloat{figure}} +\@namedef{endfigure*}{\end@dblfloat} + +\newcounter{table} +\def\thetable{\@arabic\c@table} +\def\fps@table{tbp} +\def\ftype@table{2} +\def\ext@table{lot} +\def\fnum@table{Table \thetable} +\def\table{\@float{table}} +\let\endtable\end@float +\@namedef{table*}{\@dblfloat{table}} +\@namedef{endtable*}{\end@dblfloat} + + +\newcommand\maketitle{ + \if@toolspec \@maketooltitle + \else + \par + \begingroup + \renewcommand\thefootnote{\@fnsymbol\c@footnote}% + \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}% + \long\def\@makefntext##1{\parindent 1em\noindent + \hb@xt@1.8em{% + \hss\@textsuperscript{\normalfont\@thefnmark}}##1}% + \if@twocolumn + \ifnum \col@number=\@ne + \@maketitle + \else + \twocolumn[\@maketitle]% + \fi + \else + \newpage + \global\@topnum\z@ % Prevents figures from going at top of page. + \@maketitle + \fi + \thispagestyle{plain} + \@thanks + \endgroup + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax + \fi} + +\def\@maketitle{ + \newpage + \null + \vskip 2em + \begin{center}% + {\LARGE \@title \par} % + \vskip 1.5em% + {\large + \lineskip .5em% + \begin{tabular}[t]{c}% + \@author + \end{tabular}% + \par} + \vskip 1em% + {\large \@date}% + \end{center}% + \par + \vskip 1.5em} + +\if@twoside + \def\ps@headings{% + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@evenhead{\thepage\hfil\slshape\leftmark}% + \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% + \let\@mkboth\markboth + \def\sectionmark##1{% + \markboth {\MakeUppercase{% + \ifnum \c@secnumdepth >\z@ + \thesection\quad + \fi + ##1}}{}}% + \def\subsectionmark##1{% + \markright {% + \ifnum \c@secnumdepth >\@ne + \thesubsection\quad + \fi + ##1}}} +\else + \def\ps@headings{% + \let\@oddfoot\@empty + \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% + \let\@mkboth\markboth + \def\sectionmark##1{% + \markright {\MakeUppercase{% + \ifnum \c@secnumdepth >\m@ne + \thesection\quad + \fi + ##1}}}} +\fi + +\def\ps@myheadings{% + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@evenhead{\thepage\hfil\slshape\leftmark}% + \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% + \let\@mkboth\@gobbletwo + \let\sectionmark\@gobble + \let\subsectionmark\@gobble + } + +% Special commands for manual pages, ada specs and urms + +\newif\if@toolspec \@toolspecfalse + +\def\tool#1#2#3{% + \gdef\@headname{#1}% + \gdef\@tooldesc{#2}% + \gdef\@headvrs{#3}% + \@toolspectrue + \pagestyle{manual}} + +\def\package#1#2{% + \gdef\@headname{#1}% + \gdef\@headvrs{#2}% + \pagestyle{manual}} + +\def\urm#1#2{% + \gdef\@headname{#1}% + \gdef\@headvrs{#2}% + \pagestyle{manual}} + +\def\ps@manual{% + \def\@oddhead{Version: \@headvrs\hfill{\large\bfseries\@headname}} + \def\@oddfoot{\hfil\normalfont\thepage\hfil} + \def\@evenhead{{\large\bfseries\@headname}\hfill Version: \@headvrs} + \def\@evenfoot{\hfil\normalfont\thepage\hfil} + \def\sectionmark##1{} + \def\subsectionmark##1{}} + +\newcommand*\@maketooltitle{ + \par + \begingroup + \newpage + \global\@topnum\z@ + \thispagestyle{manual} + \parindent0cm + \begingroup + \para{Name} + {\Large\bfseries \@headname} -- \@tooldesc + \endpara + \endgroup + \par + \begingroup + \para{Date} + \today + \endpara + \endgroup + \endgroup} + +\newenvironment{para}[1]{% + \vspace{0.5cm} + \goodbreak + {\Large\emph{#1}} + \nobreak + \quotation + }{% + \endquotation} + +\newcommand\contentsname{Contents} +\newcommand\listfigurename{List of Figures} +\newcommand\listtablename{List of Tables} +\newcommand\refname{References} +\newcommand\indexname{Index} +\newcommand\figurename{Figure} +\newcommand\tablename{Table} +\newcommand\partname{Part} +\newcommand\appendixname{Appendix} +\newcommand\abstractname{Abstract} +\newcommand\today{} +\edef\today{\ifcase\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi + \space\number\day, \number\year} +\setlength\columnsep{10\p@} +\setlength\columnseprule{0\p@} +\pagestyle{plain} +\pagenumbering{arabic} +\if@twoside +\else + \raggedbottom +\fi +\if@twocolumn + \twocolumn + \sloppy + \flushbottom +\else + \onecolumn +\fi +\endinput diff --git a/Master/texmf-dist/tex/latex/nassflow/manual.sty b/Master/texmf-dist/tex/latex/nassflow/manual.sty new file mode 100644 index 00000000000..5c934b94239 --- /dev/null +++ b/Master/texmf-dist/tex/latex/nassflow/manual.sty @@ -0,0 +1,504 @@ +% Manual.sty 11 july 1989, derived from article.sty 8 april 1985 +% Implementattion of the manual page style used at the CAWCS for general +% software user documentation. +% +% Copyright (C) 1989 by Marion van Geest, +% Center for the Automation of Weapon and Command Systems, +% Royal Netherlands Navy +% +% Manual defines some commands and an environment: +% +% \tool{name}{1 line description}{version number} +% \begin{para}{title} .. \end{para} +% used to document all sorts of software tools in Unix-like +% manual page style +% \package{name}{version number} +% used to document Ada package specifications +% \urm{name}{version number} +% used to document all sorts of software tools in +% users reference manuals +% (titlepage is mandatory) +% +% and its own pagestyle so \pagestyle cannot be used +% +% Contact: +% +% Marion van Geest, +% KM/CAWCS +% P.O. Box 10000 +% 1780 CA Den Helder +% The Netherlands + + + +\typeout{Document Style 'Manual'. Released 11 juli 1989 Ground Support} + +\def\@ptsize{0} +\@namedef{ds@11pt}{\def\@ptsize{1}} +\@namedef{ds@12pt}{\def\@ptsize{2}} + +\def\ds@twoside{ + \@twosidetrue + \@mparswitchtrue} + +\def\ds@draft{\overfullrule 5pt} + +\@options +\input art1\@ptsize.sty\relax + +%Page layout inserts + +\vsize=29.5cm +\hsize=21cm +\topmargin=-36pt +\oddsidemargin= 36pt +\evensidemargin= 0pt +\textheight=24cm +\textwidth=15.0cm +\parindent=0pt +\parskip=0pt +\marginparsep=0cm +\marginparwidth=0cm + +%end of inserts + + + +\def\labelenumi{\arabic{enumi}.} +\def\theenumi{\arabic{enumi}} +\def\labelenumii{(\alph{enumii})} +\def\theenumii{\alph{enumii}} +\def\p@enumii{\theenumi} +\def\labelenumiii{\roman{enumiii}.} +\def\theenumiii{\roman{enumiii}} +\def\p@enumiii{\theenumi(\theenumii)} +\def\labelenumiv{\Alph{enumiv}.} +\def\theenumiv{\Alph{enumiv}} +\def\p@enumiv{\p@enumiii\theenumiii} + +\def\labelitemi{$\bullet$} +\def\labelitemii{\bf --} +\def\labelitemiii{$\ast$} +\def\labelitemiv{$\cdot$} + + +\def\verse{ + \let\\=\@centercr + \list{}{\itemsep\z@ + \itemindent -1.5em + \listparindent \itemindent + \rightmargin\leftmargin + \advance\leftmargin 1.5em} + \item[]} + +\let\endverse\endlist + +\def\quotation{ + \list{}{\listparindent 0em + \itemindent\listparindent + \rightmargin\leftmargin + \parsep 0pt plus 1pt} + \item[]} + +\let\endquotation=\endlist + +\def\quote{ + \list{}{\rightmargin\leftmargin} + \item[]} + +\let\endquote=\endlist + +\def\descriptionlabel#1{\hspace\labelsep \bf #1} + +\def\description{ + \list{}{\labelwidth\z@ + \itemindent-\leftmargin + \let\makelabel\descriptionlabel}} + +\let\enddescription\endlist + + + +\def\theequation{\arabic{equation}} + + +\def\titlepage{ + \@restonecolfalse + \if@twocolumn + \@restonecoltrue + \onecolumn + \else + \newpage + \fi + \thispagestyle{empty} + \c@page\z@} + +\def\endtitlepage{ + \if@restonecol + \twocolumn + \else + \newpage + \fi} + +\arraycolsep 5pt +\tabcolsep 6pt +\arrayrulewidth .4pt +\doublerulesep 2pt +\tabbingsep +\labelsep + +\skip\@mpfootins = \skip\footins +\fboxsep = 3pt +\fboxrule = .4pt + + +\newcounter{part} +\newcounter {section} +\newcounter {subsection}[section] +\newcounter {subsubsection}[subsection] +\newcounter {paragraph}[subsubsection] +\newcounter {subparagraph}[paragraph] + +\def\thepart{\Roman{part}} \def\thesection {\arabic{section}} +\def\thesubsection {\thesection.\arabic{subsection}} +\def\thesubsubsection {\thesubsection .\arabic{subsubsection}} +\def\theparagraph {\thesubsubsection.\arabic{paragraph}} +\def\thesubparagraph {\theparagraph.\arabic{subparagraph}} + + +\def\@pnumwidth{1.55em} +\def\@tocrmarg {2.55em} +\def\@dotsep{4.5} +\setcounter{tocdepth}{3} + +\def\tableofcontents{ + \section*{Contents + \markboth{CONTENTS}{CONTENTS}} + \@starttoc{toc}} + +\def\l@part#1#2{ + \addpenalty{\@secpenalty} + \addvspace{2.25em plus 1pt} + \begingroup + \@tempdima 3em + \parindent \z@ + \rightskip \@pnumwidth + \parfillskip-\@pnumwidth + {\large \bf + \leavevmode #1 + \hfil + \hbox to\@pnumwidth{\hss #2}} + \par + \nobreak + \endgroup} + +\def\l@section#1#2{ + \addpenalty{\@secpenalty} + \addvspace{1.0em plus 1pt} + \@tempdima 1.5em + \begingroup + \parindent \z@ + \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \bf + \leavevmode #1 + \hfil + \hbox to\@pnumwidth{\hss #2} + \par + \endgroup} + +\def\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}} +\def\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}} +\def\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}} +\def\l@subparagraph{\@dottedtocline{5}{10em}{5em}} + +\def\listoffigures{ + \section*{List of Figures + \markboth{LIST OF FIGURES}{LIST OF FIGURES}} + \@starttoc{lof}} + +\def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} + +\def\listoftables{ + \section*{List of Tables + \markboth{LIST OF TABLES}{LIST OF TABLES}} + \@starttoc{lot}} + +\let\l@table\l@figure + + + +\def\thebibliography#1{ + \section*{References + \markboth{REFERENCES}{REFERENCES}} + \list{[\arabic{enumi}]} + {\settowidth\labelwidth{[#1]} + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \usecounter{enumi}} + \def\newblock{\hskip .11em plus .33em minus -.07em} + \sloppy + \sfcode`\.=1000\relax} + +\let\endthebibliography=\endlist + + + +\newif\if@restonecol + +\def\theindex{ + \@restonecoltrue + \if@twocolumn + \@restonecolfalse + \fi + \columnseprule \z@ + \columnsep 35pt + \twocolumn[\section*{Index}] + \markboth{INDEX}{INDEX} + \thispagestyle{plain} + \parindent\z@ + \parskip\z@ plus .3pt\relax + \let\item\@idxitem} + +\def\@idxitem{\par\hangindent 40pt} +\def\subitem{\par\hangindent 40pt \hspace*{20pt}} +\def\subsubitem{\par\hangindent 40pt \hspace*{30pt}} +\def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi} +\def\indexspace{\par \vskip 10pt plus 5pt minus 3pt\relax} + + +\def\footnoterule{ + \kern-3\p@ + \hrule width .4 + \columnwidth + \kern 2.6\p@} + +\long\def\@makefntext#1{ + \parindent 1em + \noindent + \hbox to 1.8em + {\hss$^{\@thefnmark}$} + #1} + + + +\setcounter{topnumber}{2} +\def\topfraction{.7} +\setcounter{bottomnumber}{1} +\def\bottomfraction{.3} +\setcounter{totalnumber}{3} +\def\textfraction{.2} +\def\floatpagefraction{.5} +\setcounter{dbltopnumber}{2} +\def\dbltopfraction{.7} +\def\dblfloatpagefraction{.5} + +\long\def\@makecaption#1#2{ + \vskip 10pt + \setbox\@tempboxa\hbox{#1: #2} + \ifdim \wd\@tempboxa >\hsize + \unhbox\@tempboxa + \par + \else + \hbox to\hsize{\hfil\box\@tempboxa\hfil} + \fi} + + +\newcounter{figure} +\def\thefigure{\@arabic\c@figure} +\def\fps@figure{tbp} +\def\ftype@figure{1} +\def\ext@figure{lof} +\def\fnum@figure{Figure \thefigure} +\def\figure{\@float{figure}} +\let\endfigure\end@float +\@namedef{figure*}{\@dblfloat{figure}} +\@namedef{endfigure*}{\end@dblfloat} + +\newcounter{table} +\def\thetable{\@arabic\c@table} +\def\fps@table{tbp} +\def\ftype@table{2} +\def\ext@table{lot} +\def\fnum@table{Table \thetable} +\def\table{\@float{table}} +\let\endtable\end@float +\@namedef{table*}{\@dblfloat{table}} +\@namedef{endtable*}{\end@dblfloat} + + +\def\maketitle{ + \if@toolspec \@maketooltitle + \else + \par + \begingroup + \def\thefootnote{\fnsymbol{footnote}} + \def\@makefnmark{\hbox to 0pt{$^{\@thefnmark}$\hss}} + \if@twocolumn + \twocolumn[\@maketitle] + \else + \newpage + \global\@topnum\z@ + \@maketitle + \fi + \thispagestyle{plain} + \@thanks + \endgroup + \setcounter{footnote}{0} + \let\maketitle\relax + \let\@maketitle\relax + \gdef\@thanks{} + \gdef\@author{} + \gdef\@title{} + \let\thanks\relax + \fi} + +\def\@maketitle{ + \newpage + \null + \vskip 2em + \begin{center} + {\LARGE \@title \par} + \vskip 1.5em + {\large + \lineskip .5em + \begin{tabular}[t]{c} + \@author + \end{tabular} + \par} + \vskip 1em + {\large \@date} + \end{center} + \par + \vskip 1.5em} + +\def\abstract{ + \if@twocolumn + \section*{Abstract} + \else + \small + \begin{center} + {\bf Abstract + \vspace{-.5em} + \vspace{0pt}} + \end{center} + \quotation + \fi} + +\def\endabstract{ + \if@twocolumn + \else + \endquotation + \fi} + + +\mark{{}{}} + +\if@twoside + \def\ps@headings{ + \def\@oddfoot{} + \def\@evenfoot{} + \def\@evenhead{\rm\thepage\hfil \sl \leftmark} + \def\@oddhead{\hbox{}\sl \rightmark \hfil\rm\thepage} + \def\sectionmark##1{\markboth + {\uppercase{ + \ifnum \c@secnumdepth>\z@ + \thesection\hskip 1em\relax \fi + ##1}} + {}} + \def\subsectionmark##1{\markright + {\ifnum \c@secnumdepth>\@ne + \thesubsection\hskip 1em\relax \fi + ##1}}} + +\else + \def\ps@headings{ + \def\@oddfoot{} + \def\@evenfoot{} + \def\@oddhead{\hbox{}\sl \rightmark \hfil \rm\thepage} + \def\sectionmark##1{\markright{\uppercase + {\ifnum \c@secnumdepth >\z@ + \thesection\hskip 1em\relax \fi + ##1}}}} +\fi + +\def\ps@myheadings{\def\@oddhead{\hfil\large\bf\rightmark\hbox{}} + \def\@oddfoot{\hfil\rm\thepage\hfil} + \def\@evenhead{\hbox{}\large\bf\leftmark\hfill} + \def\@evenfoot{\hfil\rm\thepage\hfil} + \def\sectionmark##1{} + \def\subsectionmark##1{}} + +% Special commands for manual pages, ada specs and urms + +\newif\if@toolspec \@toolspecfalse + +\def\tool#1#2#3{\gdef\@headname{#1} + \gdef\@tooldesc{#2} + \gdef\@headvrs{#3} + \@toolspectrue + \pagestyle{manual}} + +\def\package#1#2{\gdef\@headname{#1} + \gdef\@headvrs{#2} + \pagestyle{manual}} + +\def\urm#1#2{\gdef\@headname{#1} + \gdef\@headvrs{#2} + \pagestyle{manual}} + +\def\ps@manual{\def\@oddhead{\hbox{}Version: \@headvrs\hfill + {\large\bf\@headname}\hbox{}} + \def\@oddfoot{\hfil\rm\thepage\hfil} + \def\@evenhead{\hbox{}{\large\bf\@headname} + \hfill Version: \@headvrs\hbox{}} + \def\@evenfoot{\hfil\rm\thepage\hfil} + \def\sectionmark##1{} + \def\subsectionmark##1{}} + +\def\@maketooltitle{ + \par + \begingroup + \newpage + \global\@topnum\z@ + \thispagestyle{manual} + \parindent0cm + \begingroup + \para{Name} + {\Large\bf \@headname} -- \@tooldesc + \endpara + \endgroup + \par + \begingroup + \para{Date} + \today + \endpara + \endgroup + \endgroup} + +\def\para#1{ +\vspace{0.5cm} +\goodbreak +{\Large{\em #1}} +\nobreak +\quotation} + +\def\endpara{\endquotation} + + + +\def\today{ + \ifcase\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December + \fi + \space\number\day, + \number\year} + + +\ps@plain \pagenumbering{arabic} \onecolumn + +\if@twoside +\else + \raggedbottom\fi + diff --git a/Master/texmf-dist/tex/latex/nassflow/nassi.sty b/Master/texmf-dist/tex/latex/nassflow/nassi.sty new file mode 100644 index 00000000000..ad0b1e34aff --- /dev/null +++ b/Master/texmf-dist/tex/latex/nassflow/nassi.sty @@ -0,0 +1,422 @@ +% nassi.sty 29 augustus 1989, C.M. Lindhout. +% +% Copyright (C) by CAWCS, Royal Netherlands Navy. +% This program may be freely used and copied but may not be sold +% without the author's written permission. This notice must remain +% in any copy or derivative. +% +% Please send improvements, bug fixes, comments, etc., to +% Marion van Geest, +% CAWCS, +% Royal Netherlands Navy, +% P.O.BOX 10000, +% 1780 CA Den Helder, +% The Netherlands. + +% Modifications. +% -------------- +% Version 2, july 1990, +% Scope of \setiftext command changed +% Version 3, november 1990, +% A lot of unnecessary 'overfull hbox' messages are no longer given +% Version 4, october 1991, +% \ACCEPT created for use with ADA code +% Version 5, august 1992, +% Improved layout for empty \ELSE in \IF statement + +\ProvidesPackage{nassi}[1992/08/01 v5.0 Nassi-Scheiderman macro's.] + +\global\newdimen\wwa \global\newdimen\wwb \global\newdimen\wwc +\global\newdimen\wwd \global\newdimen\wwe \global\newdimen\wwf +\global\newdimen\wwg \global\newdimen\wwh \global\newdimen\wwi +\global\newdimen\wwj \global\newdimen\wwk \global\newdimen\wwl +\global\newdimen\wwm \global\newdimen\wwn \global\newdimen\wwo +\global\newdimen\wwp \global\newdimen\wwq \global\newdimen\wwr +\global\newdimen\wws \global\newdimen\wwt \global\newdimen\wwu +\global\newdimen\wwv \global\newdimen\www \global\newdimen\wwx +\global\newdimen\wwy \global\newdimen\wwz +\global\newdimen\wwA \global\newdimen\wwB \global\newdimen\wwC +\global\newdimen\wwD \global\newdimen\wwE \global\newdimen\wwF +\global\newdimen\wwG \global\newdimen\wwH \global\newdimen\wwI +\global\newdimen\wwJ \global\newdimen\wwK \global\newdimen\wwL +\global\newdimen\wwM \global\newdimen\wwN \global\newdimen\wwO +\global\newdimen\wwP \global\newdimen\wwQ \global\newdimen\wwR +\global\newdimen\wwS \global\newdimen\wwT \global\newdimen\wwU +\global\newdimen\wwV \global\newdimen\wwW \global\newdimen\wwX +\global\newdimen\wwY \global\newdimen\wwZ + +\def\ww#1{% + \ifcase#1% + \wwa\or\wwb\or\wwc\or\wwd\or\wwe\or\wwf\or\wwg\or\wwh\or\wwi\or\wwj\or + \wwk\or\wwl\or\wwm\or\wwn\or\wwo\or\wwp\or\wwq\or\wwr\or\wws\or\wwt\or + \wwu\or\wwv\or\www\or\wwx\or\wwy\or\wwz\or\wwA\or\wwB\or\wwC\or\wwD\or + \wwE\or\wwF\or\wwG\or\wwH\or\wwI\or\wwJ\or\wwK\or\wwL\or\wwM\or\wwN\or + \wwO\or\wwP\or\wwQ\or\wwR\or\wwS\or\wwT\or\wwU\or\wwV\or\wwW\or\wwX\or + \wwY\or\wwZ + \fi% +}% + +\global\newcount\nr% +\global\newif\iftry% +\global\newif\ifunderline% +\newif\ifunderlinethen% +\newif\ifunderlineelse% +\newif\ifunderlinewhen% +\underlinewhenfalse% +\newdimen\nassiwidth% +\nassiwidth=0pt% +\newdimen\minunitwidth% +\minunitwidth=60pt% +\newdimen\unitwidth% +\newdimen\thickness% +\newbox\thentext% +\newbox\elsetext% +\thickness=0.01in% +\newdimen\spc% +\newdimen\fac% +\newdimen\ha% +\newdimen\hb% +\newdimen\hc% +\newcount\nra% +\newcount\nrb% +\newdimen\wa% +\newdimen\wb% +\newdimen\wc% +% +\def\reserveww#1{#1=\nr \global\advance\nr by 1}% +\def\saveww#1#2{\global\ww#2=#1}% +\def\readww#1{#1=\ww\nr \global\advance\nr by 1}% +% +\def\setiftext#1#2{\setbox\thentext=\hbox{#1}\setbox\elsetext=\hbox{#2}}% +\setiftext{Y}{N}% +% +\def\vspc{% + \vbox to 2\spc{}% +}% +% +\def\hspc{% + \hbox to \spc{}% +}% +% +\def\spcbox#1#2{% + \hbox{% + \hspc% + \vbox{% + \vspc% + \wa=#1% + \advance\wa-2\spc% + \hbox{\parbox[t]{\wa}{\raggedright#2}}% + \vspc% + }% + \hspc% + }% +}% +% +\def\ACTION#1{% + \iftry% + \hbox to \unitwidth{}% + \else% + \hrule height\thickness% + \spcbox{\unitwidth}{#1}% + \global\underlinefalse% + \fi% +}% +% +\def\PROC#1#2{% + \iftry% + \hbox to \unitwidth{}% + \else% + \hrule height\thickness% + \spcbox{\unitwidth}{#2 (#1)}% + \global\underlinefalse% + \fi% +}% +% +\def\LABEL#1{% +}% +% +\def\leftif{% + \hbox{% + \begin{picture}(80,60)% + \put(0,60){\line(4,-3){80}}% + \put(0,5){\hbox to 80\unitlength{\hspc\copy\thentext\hfil}}% + \end{picture}% + }% +}% +% +\def\rightif{% + \hbox{% + \begin{picture}(80,60)% + \put(0,0){\line(4,3){80}}% + \put(0,5){\hbox to 80\unitlength{\hfil\copy\elsetext\hspc}}% + \end{picture}% + }% +}% +% +\def\IF#1\THEN#2\ELSE#3\ENDIF{% + \iftry% + \reserveww{\nra}% + \reserveww{\nrb}% + \setbox0=\vbox{\hbox to 8ex{} #2}% + \setbox2=\vbox{\hbox to 8ex{} #3}% + \saveww{\wd0}{\nra}% + \saveww{\wd2}{\nrb}% + \hbox{\hbox to 16ex{}\hbox to \unitwidth{}}% + \hbox{\box0\box2}% + \else% + \readww{\wa}% + \readww{\wb}% +% + \ifdim \wb=8ex% + \wa=\unitwidth% + \advance\wa-\wb% + \else% + \wc=0.003\wa% + \advance\wc0.003\wb% + \wb=\unitwidth% + \divide\wb\wc% + \wa=0.003\wa% + \multiply\wa\wb% +% + \wb=\unitwidth% + \advance\wb-\wa% + \fi% +% + \hrule height\thickness% + \hbox{% + \leftif% + \wa=\unitwidth% + \advance\wa-16ex% + \spcbox{\wa}{#1}% + \rightif% + }% + \setbox0=\vbox{\unitwidth=\wa\hbox to \unitwidth{}\global\underlinetrue #2}% + \ifunderline\underlinethentrue\else\underlinethenfalse\fi% + \ha=\ht0% + \advance\ha\dp0% + \setbox2=\vbox{\unitwidth=\wb\hbox to \unitwidth{}\global\underlinetrue #3}% + \ifunderline\underlineelsetrue\else\underlineelsefalse\fi% + \hb=\ht2% + \advance\hb\dp2% + \ifdim\ha>\hb\hc=\ha\else\hc=\hb\fi% + \hbox{% + \vtop{% + \unvbox0% + \ifdim\ha<\hb{\ifunderlinethen\hrule height\thickness\fi}\fi% + }% + \hbox to -\thickness{}% + \vrule width\thickness% + \vtop{% + \unvbox2% + \ifdim\hb<\ha{\ifunderlineelse\hrule height\thickness\fi}\fi% + }% + }% + \global\underlinetrue% + \fi% +}% +% +\def\REPEAT#1\UNTIL#2{% + \iftry% + \hbox{% + \hbox to 4ex{}% + \vtop{% + #1% + }% + }% + \hbox to \unitwidth{}% + \else% + \hbox{% + \vtop{% + \hrule height\thickness% + \hbox to 4ex{}% + }% + \vrule width\thickness% + \vtop{% + \wa=\unitwidth% + \advance\wa-4ex% + \unitwidth=\wa% + #1% + \hrule height\thickness% + }% + }% + \spcbox{\unitwidth}{#2}% + \global\underlinetrue% + \fi% +}% +% +\def\WHILE#1#2\ENDWHILE{% + \iftry% + \hbox to \unitwidth{}% + \hbox{% + \hbox to 4ex{}% + \vtop{% + #2% + }% + }% + \else% + \hrule height\thickness% + \spcbox{\unitwidth}{#1}% + \hbox{% + \hbox to 4ex{}% + \vrule width\thickness% + \vbox{% + \wa=\unitwidth% + \advance\wa-4ex% + \unitwidth=\wa% + #2% + }% + }% + \global\underlinetrue% + \fi% +}% +% +\def\ACCEPT#1#2\ENDACCEPT{% + \iftry% + \hbox to \unitwidth{}% + \hbox{% + \hspc% + \vtop{% + #2% + }% + \hspc% + }% + \else% + \hrule height\thickness% + \spcbox{\unitwidth}{#1}% + \hbox{% + \hspc% + \vbox{% + \hbox{% + \vrule width\thickness% + \hbox to -\thickness{}% + \vbox{% + \wa=\unitwidth% + \advance\wa-2\spc% + \unitwidth=\wa% + #2% + }% + \hbox to -\thickness{}% + \vrule width\thickness% + }% + \vbox to -\thickness{}% + \hrule height\thickness% + \vbox to \spc{}% + }% + \hspc% + }% + \global\underlinetrue% + \fi% +}% +% +\def\WHEN#1#2{% + \iftry% + \reserveww{\nra}% + \setbox0=\vbox{\hbox to \unitwidth{}#2}% + \saveww{\wd0}{\nra}% + \box0% + \else% + \readww{\wa}% + \wa=0.003\wa% + \multiply\wa\wc% + \vtop{% + \global\underlinefalse% + \hbox to 0pt{}% + \unitwidth=\wa% + \setbox0=\hbox{\raggedright#1}% + \ifdim\wd0=0pt% + #2% + \else% + \hrule height\thickness% + \spcbox{\unitwidth}{#1}% + #2% + \fi% + \ifunderlinewhen\ifunderline\hrule height\thickness\fi\fi% + }% + \hbox to -\thickness{}% + \vrule width\thickness% + \fi% +}% +% +\def\leftcase{% + \hbox{% + \begin{picture}(80,60)% + \put(0,60){\line(4,-3){80}}% + \end{picture}% + }% +}% +% +\def\CASE#1#2\ENDCASE{% + \iftry% + \reserveww{\nra}% + \setbox0=\hbox{#2}% + \saveww{\wd0}{\nra}% + \hbox{\box0}% + \else% + \readww{\wa}% +% + \wc=0.003\wa% + \wb=\unitwidth% + \divide\wb\wc% + \wc=\wb% +% \wa=0.01\wa% +% \multiply\wa\wb% +% + \hrule height\thickness% + \hbox{% + \leftcase% + \wa=\unitwidth% + \advance\wa-8ex% + \spcbox{\wa}{#1}% + }% + \hbox{#2}% + \global\underlinetrue% + \fi% +}% +% +\def\STRUCT#1#2#3{% + \spc=1ex% + \unitlength=0.1\spc% +% + \nr=0% + \trytrue% + \unitwidth=\minunitwidth% + \setbox0=\vbox{% + \baselineskip=0pt% + \lineskip=0pt% + \parindent=0pt% + \parskip=0pt% + #3 + }% +% + \nr=0% + \tryfalse% + \ifdim\nassiwidth=0pt% + \ifdim\wd0>\textwidth% + \unitwidth=\textwidth% + \else% + \unitwidth=\wd0% + \fi% + \else% + \unitwidth=\nassiwidth% + \fi% + \vbox{% + \vspace{0.5cm} + {\normalsize{\bf #1 --- }#2}% + \vspace{0.5cm} + \par% + \hbox{% + \baselineskip=0pt% + \lineskip=0pt% + \parindent=0pt% + \parskip=0pt% + \vrule width\thickness% + \vbox{% + #3% + \hrule height\thickness% + }% + \hbox to -\thickness{}% + \vrule width\thickness% + }% + }% +}% +\endinput
\ No newline at end of file |