%% %% This is file `struktex.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% struktex.dtx (with options: `struktex') %% %% Copyright (C) 1989-2006 by Jobst Hoffmann. All rights reserved. %% %% IMPORTANT COPYRIGHT NOTICE: %% %% No other permissions to copy or distribute this file in any form %% are granted and in particular NO PERMISSION to modify its contents. %% %% You are NOT ALLOWED to change this file. %% %% Please address error reports and any problems in case of UNCHANGED versions %% to %% j.hoffmann@fh-aachen.de \NeedsTeXFormat{LaTeX2e}[1999/12/01] \def\filedate{2006/01/20} \def\fileversion{v8.2a} \ProvidesPackage{struktex} [\filedate\space\fileversion\space Nassi Shneidermann Charts (Jobst Hoffmann)] %% \@ifundefined{StrukTeX}{}{\endinput} \RequirePackage{ifthen} \RequirePackage{struktxf} \RequirePackage{struktxp} \newboolean{curves} \newboolean{emlines} \newboolean{pictIIe} \newboolean{anygradient} \DeclareOption{curves}% {% \setboolean{anygradient}{true} \setboolean{curves}{true} \setboolean{emlines}{false} \setboolean{pictIIe}{false} } \DeclareOption{emlines}% {% \setboolean{anygradient}{true} \setboolean{curves}{false} \setboolean{emlines}{true} \setboolean{pictIIe}{false} } \DeclareOption{pict2e}% {% \setboolean{anygradient}{true} \setboolean{curves}{false} \setboolean{emlines}{false} \setboolean{pictIIe}{true} } \newboolean{verification} \DeclareOption{verification}% {% \setboolean{verification}{true} } \newboolean{filler} \setboolean{filler}{true} \DeclareOption{nofiller}% {% \setboolean{filler}{false} } \let\ifdraft@nss\iffalse \let\iffinal@nss\iftrue \DeclareOption{draft}% {% \let\ifdraft@nss\iftrue \let\iffinal@nss\iffalse } \DeclareOption{final}% {% \let\ifdraft@nss\iffalse \let\iffinal@nss\iftrue } \ProcessOptions \ifcurves% \RequirePackage{curves} \else\ifemlines \RequirePackage{emlines2} \else\ifpictIIe \RequirePackage{pict2e} \fi\fi\fi \def\StrukTeX{S\kern-.05emt\kern-.05em\raise.5ex\hbox{r}% \kern-.1667emu\kern-.05em\lower.5ex\hbox{k}% \kern-.2emT\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX} \newdimen\savelength@nss \newcount\gx@nss \newcount\gy@nss \newcount\gsize@nss \countdef\param@nss=199 \countdef\x@nss=220 \countdef\y@nss=221 \countdef\xsize@nss=222 \countdef\ydepth@nss=223 \countdef\xx@nss=224 \countdef\yy@nss=225 \countdef\tempx@nss=226 \countdef\tempxx@nss=227 \countdef\tempy@nss=229 \countdef\tempyy@nss=230 \ifpictIIe% \countdef\tempxxx@nss=228 \countdef\tempyyy@nss=231 \fi \newbox\TextBox@nss \newdimen\TextBoxHt@nss \DeclareMathSymbol\varnothing{\mathord}{AMSb}{"3F} \let\emptyset\varnothing \def\filler@nss% {% \iffiller\ensuremath{\emptyset}\fi% } \def\c@nter@nss% {% \leftskip=0pt plus 2em \rightskip=\leftskip \parfillskip=0pt \spaceskip=.333em \xspaceskip=.5em \pretolerance=9999 \tolerance=9999 \hyphenpenalty=9999 \exhyphenpenalty=9999% } \def\Position@nss{}% \newcommand{\PositionNSS}[1]% {% \def\Position@nss{#1}% } \def\struktogramm(#1,#2)% {% \let\ifthenelse=\ifthenelse@nss% \let\ifend=\ifend@nss% \ifdraft@nss\let\struktogramm@nss=\struktogramm@Proof\fi% \@ifnextchar [{\struktogramm@nss(#1,#2)}{\struktogramm@nss(#1,#2)[]}% } \def\endstruktogramm% {% \endstr@kt% \end{picture}% \end{minipage}% \setlength{\unitlength}{\savelength@nss}% } \def\struktogramm@NoProof(#1,#2)[#3]% {% \def\next{#3} \setlength{\savelength@nss}{\unitlength} \setlength{\unitlength}{0.001mm} \begin{minipage}[\Position@nss]{#1mm} \ifx\next\empty\else #3\\[\smallskipamount]\fi% \begin{picture}(#1000,#2000)% \str@kt{0}{#2000}{#1000}% } \def\struktogramm@Proof(#1,#2)[#3]% {% \def\next{#3}% \setlength{\savelength@nss}{\unitlength}% \setlength{\unitlength}{0.001mm}% \begin{minipage}[\Position@nss]{#1mm}% \ifx\next\empty\else #3\\[\smallskipamount]\fi% \begin{picture}(#1000,#2000)% \put(0,0){\makebox(0,0)[cc]{$\bullet$}}% \put(0,#2000){\makebox(0,0)[cc]{$\bullet$}}% \put(#1000,0){\makebox(0,0)[cc]{$\bullet$}}% \put(#1000,#2000){\makebox(0,0)[cc]{$\bullet$}}% \str@kt{0}{#2000}{#1000}% } \def\sProofOn% {% \let\struktogramm@nss=\struktogramm@Proof% } \def\sProofOff% {% \let\struktogramm@nss=\struktogramm@NoProof% } \let\struktogramm@nss=\struktogramm@NoProof% \def\openstrukt#1#2% {% \setlength{\savelength@nss}{\unitlength} \setlength{\unitlength}{0.001mm} \begin{picture}(#1000,#2000) \str@kt{0}{#2000}{#1000}% } \def\closestrukt% {% \endstr@kt \end{picture} \setlength{\unitlength}{\savelength@nss}% } \def\getoption{\@ifnextchar [{\getnum}{\param@nss=0\next}} \def\getnum[#1]{\param@nss=#1\next} \def\str@kt#1#2#3% {% \global\gx@nss=#1\global\gy@nss=#2\global\gsize@nss=#3% \begingroup% \x@nss=\gx@nss\y@nss=\gy@nss\xsize@nss=\gsize@nss% } \def\endstr@kt% {% \global\gy@nss=\y@nss% \endgroup% \ydepth@nss=\gy@nss% } \def\set@nss#1#2% {% \setbox\TextBox@nss=\hbox{#1}% \tempxx@nss=\xsize@nss\advance\tempxx@nss by-#2% \ifdim\wd\TextBox@nss>\tempxx@nss\unitlength% \setbox\TextBox@nss=\vbox{\hsize=\tempxx@nss\unitlength\noindent#1}% \fi% } \def\block@nss#1#2% {% \tempy@nss=#1\TextBoxHt@nss=\ht\TextBox@nss% \advance\TextBoxHt@nss by\dp\TextBox@nss% \advance\TextBoxHt@nss by 2mm% \ifdim\TextBoxHt@nss<\tempy@nss\unitlength% \TextBoxHt@nss=\tempy@nss\unitlength% \fi% \TextBoxHt@nss=0.00536\TextBoxHt@nss% \ydepth@nss=\TextBoxHt@nss\advance\y@nss by-\ydepth@nss% \ifx#21% \put(\x@nss,\y@nss)% {% \framebox(\xsize@nss,\ydepth@nss){\box\TextBox@nss}% }% \else% \ifx#20% \put(\x@nss,\y@nss)% {% \makebox(\xsize@nss,\ydepth@nss){\box\TextBox@nss}% }% \else% \advance\y@nss by \ydepth@nss% \fi% \fi% } \def\declarationtitle{\ifnum\language=\languageNGerman Speicherplatz bereitstellen: \else providing memory space\fi} \newlength{\descriptionindent} \setlength{\descriptionindent}{1.5em} \newlength{\descriptionwidth} \setlength{\descriptionwidth}{40pt} \newlength{\descriptionsep} \setlength{\descriptionsep}{\tabcolsep} \newlength{\descriptionwidth@nss} \newcommand{\descriptionlabel@nss}[1]% {% \settowidth{\descriptionwidth@nss}{#1}% \ifnum\descriptionwidth@nss>\descriptionwidth% % term > labelwidth \parbox[b]{\descriptionwidth}% {% \makebox[0pt][l]{#1}\\% }% \else% % term < labelwidth #1% \fi% \hfil\relax% } \newenvironment{declaration}[1][\declarationtitle]% {% \def\next{#1}% \ifx\next\empty\else #1\\\fi \let\description=\description@nss \tempxx@nss=\xsize@nss\advance\tempxx@nss by -\tempx@nss% \begin{minipage}[t]{\tempxx@nss\unitlength} \begin{list}{}% {% \renewcommand{\makelabel}{\descriptionlabel@nss}% \setlength{\labelwidth}{\descriptionwidth}% \setlength{\itemsep}{0pt} \setlength{\topsep}{0pt}% \setlength{\parsep}{0pt} \setlength{\partopsep}{0pt} \setlength{\leftmargin}{\descriptionwidth}% \addtolength{\leftmargin}{\descriptionsep}% \addtolength{\leftmargin}{\descriptionindent}% }% }% {% \end{list}% \end{minipage} } \newcommand{\description@nss}[2]{\item[#1] \{#2\}} \def\assign{\let\next=\@assign\getoption}% \def\@assign#1% {% \tempx@nss=\xsize@nss\divide\tempx@nss by 6% \set@nss{#1}{\tempx@nss}\tempy@nss=\number\param@nss000% \block@nss{\tempy@nss}{1}% } \def\sub{\let\next=\@sub\getoption} \def\@sub#1% {% \@assign{#1}\tempx@nss=\xsize@nss\divide\tempx@nss by 20% \tempxx@nss=\x@nss\advance\tempxx@nss by \tempx@nss% \put(\tempxx@nss,\y@nss){\line(0,1){\ydepth@nss}}% \tempxx@nss=\x@nss\advance\tempxx@nss by \xsize@nss% \advance\tempxx@nss by -\tempx@nss% \put(\tempxx@nss,\y@nss){\line(0,1){\ydepth@nss}}% } \def\exit{\let\next=\@exit\getoption} \def\@exit#1% {% \tempx@nss=\xsize@nss\divide\tempx@nss by 6% \set@nss{#1}{\tempx@nss}% \tempy@nss=\number\param@nss000% \block@nss{\tempy@nss}{1}% \divide\ydepth@nss by 2% \advance\y@nss by \ydepth@nss% \ifnum\ydepth@nss<3500% {% \multiply\ydepth@nss by 2% \put(\x@nss,\y@nss){\line(2,1){\ydepth@nss}}% \put(\x@nss,\y@nss){\line(2,-1){\ydepth@nss}}% }% \else% \put(\x@nss,\y@nss){\line(1,1){\ydepth@nss}}% \put(\x@nss,\y@nss){\line(1,-1){\ydepth@nss}}% \fi% \advance\y@nss by-\ydepth@nss% } \def\return{\let\next=\@return\getoption} \def\@return#1% {% \tempy@nss=\number\param@nss000% \ifnum\tempy@nss<7000 \tempy@nss=7000 \fi% \set@nss{#1}{\tempy@nss} \block@nss{\tempy@nss}{1}% \divide\ydepth@nss by 2% \advance\y@nss by \ydepth@nss% \put(\x@nss,\y@nss){\line(1,1){\ydepth@nss}}% \put(\x@nss,\y@nss){\line(1,-1){\ydepth@nss}}% \tempx@nss=\x@nss\advance\tempx@nss by \xsize@nss% \put(\tempx@nss,\y@nss){\line(-1,1){\ydepth@nss}}% \put(\tempx@nss,\y@nss){\line(-1,-1){\ydepth@nss}}% \advance\y@nss by-\ydepth@nss% } \countdef\condindent@nss=232 \countdef\index@nss=233% \newdimen\indentmeasure@nss \newdimen\indentmeasureright@nss \newdimen\thisindent@nss \newdimen\thisindentright@nss \newdimen\thislength@nss \countdef\gindhelp@nss=234 \def\ifthenelse@nss{\let\next=\@ifthenelse@nss\getoption} \def\@ifthenelse@nss#1#2#3#4#5% {% %\ifthenelse{\boolean{anygradient}}% %{% \ifanygradient \xx@nss=#1 \advance\xx@nss by #2% \ifnum\number\param@nss000>0% \tempyy@nss=\number\param@nss000% \tempx@nss=\xsize@nss% \multiply\tempx@nss by #1 \divide\tempx@nss by \xx@nss% \tempxx@nss=\xsize@nss% \multiply\tempxx@nss by #2 \divide\tempxx@nss by \xx@nss% \else% \tempyy@nss=\xsize@nss \divide\tempyy@nss by \xx@nss% \tempx@nss=\tempyy@nss \multiply\tempx@nss by #1% \tempxx@nss=\tempyy@nss \multiply\tempxx@nss by #2% \fi% \xx@nss=\tempx@nss \advance\xx@nss by \x@nss% \tempy@nss=\y@nss \advance\tempy@nss by -\tempyy@nss% \ifemlines% \emline{\x@nss}{\y@nss}{}{\xx@nss}{\tempy@nss}{}% \else\ifcurves% \curve(\x@nss, \y@nss, \xx@nss, \tempy@nss)% \else\ifpictIIe% \tempyyy@nss=\tempyy@nss \divide\tempyyy@nss by 1000 \tempxxx@nss=\tempx@nss \divide\tempxxx@nss by 1000 \put(\x@nss,\y@nss){\line(\tempxxx@nss, -\tempyyy@nss){\tempx@nss}} \fi\fi\fi% \advance\x@nss by \xsize@nss% \ifemlines% \emline{\x@nss}{\y@nss}{}{\xx@nss}{\tempy@nss}{}% \else\ifcurves% \curve(\x@nss, \y@nss, \xx@nss, \tempy@nss) \else\ifpictIIe% \tempxxx@nss=\tempxx@nss \divide\tempxxx@nss by 1000 \put(\x@nss,\y@nss){\line(-\tempxxx@nss, -\tempyyy@nss){\tempxx@nss}} \fi\fi\fi% \advance\x@nss by -\xsize@nss \advance\y@nss by -\tempyy@nss% \tempy@nss=\tempyy@nss\divide\tempy@nss by 5000% \ifnum\tempy@nss<1 \tempy@nss=1\fi% \indentmeasure@nss=\xsize@nss\unitlength% \gindhelp@nss=#1\advance\gindhelp@nss by #2% \divide\indentmeasure@nss by \gindhelp@nss% \indentmeasureright@nss = \indentmeasure@nss% \multiply\indentmeasure@nss by #1% \multiply\indentmeasureright@nss by #2% \divide\indentmeasure@nss by \tempyy@nss% \divide\indentmeasureright@nss by \tempyy@nss% \phantom{\vbox{\hsize=0pt\global\gindhelp@nss=\the\baselineskip}}% \multiply\gindhelp@nss by 360% \multiply\indentmeasure@nss by \gindhelp@nss% \multiply\indentmeasureright@nss by \gindhelp@nss% \xdef\shape{}\index@nss=0% \loop% \advance\index@nss by 1% %Zahl der Zeile \thisindent@nss=\indentmeasure@nss% \multiply\thisindent@nss by \index@nss% \advance\thisindent@nss by 0.175cm% \xdef\shape{\shape\the\thisindent@nss}% \thisindentright@nss=\indentmeasureright@nss% \multiply\thisindentright@nss by \index@nss% \advance\thisindentright@nss by 0.175cm% \thislength@nss=\xsize@nss\unitlength% \advance\thislength@nss by -\thisindent@nss \advance\thislength@nss by -\thisindentright@nss \xdef\shape{\shape\the\thislength@nss}% \ifnum\index@nss<\tempy@nss% \repeat% %}% %{% \else \ifnum\number\param@nss000>0% \typeout{struktex warning:}% \typeout{[...] not supplied without curves, emlines2, or pict2e}% \fi% \tempx@nss=#1 \advance\tempx@nss by #2% \tempyy@nss=\xsize@nss \divide\tempyy@nss by \tempx@nss% \tempx@nss=\tempyy@nss \multiply\tempx@nss by #1% \put(\x@nss,\y@nss){\line(#1,-1){\tempx@nss}}% \tempxx@nss=\tempyy@nss \multiply\tempxx@nss by #2% \advance\x@nss by \xsize@nss% \put(\x@nss,\y@nss){\line(-#2,-1){\tempxx@nss}}% \advance\x@nss by -\xsize@nss \advance\y@nss by -\tempyy@nss% \tempy@nss=\tempyy@nss\divide\tempy@nss by 5000% \ifnum\tempy@nss<1 \tempy@nss=1\fi% \xdef\shape{}\index@nss=0% \loop% \advance\index@nss by 1% \condindent@nss=#1\multiply\condindent@nss by\index@nss% \multiply\condindent@nss by 5000% \xdef\shape{\shape\the\condindent@nss\unitlength}% \condindent@nss=#1\advance\condindent@nss by #2% \multiply\condindent@nss by\index@nss% \multiply\condindent@nss by -5000% \advance\condindent@nss by \xsize@nss% \xdef\shape{\shape\the\condindent@nss\unitlength}% \ifnum\index@nss<\tempy@nss% \repeat% %}% \fi \put(\x@nss,\y@nss)% {% \framebox(\xsize@nss,\tempyy@nss)[tl]% {% \vbox% {% \hsize=\xsize@nss\unitlength% \parshape=\tempy@nss \shape \c@nter@nss% %dies sorgt f"ur den Einzug \noindent\vrule width0pt height12pt \relax #3% %hier wird der Text ausgegeben }% }% }% \divide\tempyy@nss by 2% \xx@nss=\xsize@nss\advance\xx@nss by-\tempx@nss% \advance\xx@nss by-\tempxx@nss% \ifodd\xx@nss\advance\tempxx@nss by 1\fi% \divide\xx@nss by 2\advance\tempxx@nss by \xx@nss% \advance\tempx@nss by \xx@nss% \put(\x@nss,\y@nss){\makebox(\tempx@nss,\tempyy@nss){#4}}% \xx@nss=\x@nss\advance\xx@nss by \tempx@nss% \put(\xx@nss,\y@nss){\makebox(\tempxx@nss,\tempyy@nss){#5}}% \str@kt{\x@nss}{\y@nss}{\tempx@nss}% } \def\change% {% \endstr@kt\str@kt{\xx@nss}{\y@nss}{\tempxx@nss}% } \def\ifend@nss% {% \global\gy@nss=\y@nss\endgroup\tempy@nss=\gy@nss% \ifnum\tempy@nss<\ydepth@nss% \y@nss=\tempy@nss\advance\ydepth@nss by-\tempy@nss% \put(\x@nss,\y@nss)% {% \framebox(\tempx@nss,\ydepth@nss)% {% \ifnum\ydepth@nss>5000\filler@nss\fi% }% }% \else% \ifnum\tempy@nss>\ydepth@nss% \y@nss=\ydepth@nss\advance\tempy@nss by-\ydepth@nss% \put(\xx@nss,\y@nss)% {% \framebox(\tempxx@nss,\tempy@nss)% {% \ifnum\tempy@nss>5000\filler@nss\fi% }% }% \else% \y@nss=\ydepth@nss% \fi% \fi% } \def\forever{\let\next=\@forever\getoption} \def\@forever{ \tempx@nss=\xsize@nss \divide\tempx@nss by 6 \set@nss{\mbox{\rule{0mm}{3ex}}}{\tempx@nss} \tempy@nss=\number\param@nss000 \block@nss{\tempy@nss}{2} \advance\x@nss by \ydepth@nss \advance\y@nss by -\ydepth@nss \tempxx@nss=\xsize@nss \advance\tempxx@nss by -\ydepth@nss \tempy@nss=\ydepth@nss \str@kt{\x@nss}{\y@nss}{\tempxx@nss} } \def\foreverend{ \endstr@kt \advance\x@nss by-\tempy@nss \advance\ydepth@nss by -\tempy@nss \tempyy@nss=\ydepth@nss \ydepth@nss=-\ydepth@nss \advance\ydepth@nss by \y@nss \advance\ydepth@nss by \tempy@nss \y@nss=\tempyy@nss \put(\x@nss,\y@nss){\framebox(\xsize@nss,\ydepth@nss){}} \put(\x@nss,\y@nss){\makebox(\xsize@nss,\tempy@nss){\box\TextBox@nss}} } \let\dfr\forever \let\dfrend\foreverend \def\while{\let\next=\@while\getoption} \def\@while#1{\tempx@nss=\xsize@nss\divide\tempx@nss by 6 \set@nss{#1\hskip\xsize@nss\unitlength}{\tempx@nss} \tempy@nss=\number\param@nss000 \block@nss{\tempy@nss}{0} \tempy@nss=\y@nss\advance\y@nss by \ydepth@nss \tempx@nss=\x@nss\advance\tempx@nss by \ydepth@nss \tempxx@nss=\xsize@nss\advance\tempxx@nss by -\ydepth@nss \str@kt{\tempx@nss}{\tempy@nss}{\tempxx@nss} } \def\whileend{\endstr@kt\tempy@nss=\y@nss\advance\tempy@nss by-\ydepth@nss \y@nss=\ydepth@nss \put(\x@nss,\y@nss){\framebox(\xsize@nss,\tempy@nss){}} } \def\until{\let\next=\@until\getoption} \def\@until#1{\tempx@nss=\xsize@nss\divide\tempx@nss by 6 \set@nss{#1\hskip\xsize@nss\unitlength}{\tempx@nss} \tempy@nss=\number\param@nss000 \block@nss{\tempy@nss}{2} \advance\x@nss by \ydepth@nss\tempxx@nss=\xsize@nss \advance\tempxx@nss by -\ydepth@nss \tempy@nss=\ydepth@nss \str@kt{\x@nss}{\y@nss}{\tempxx@nss} } \def\untilend{\endstr@kt\advance\x@nss by-\tempy@nss \advance\ydepth@nss by -\tempy@nss \tempyy@nss=\ydepth@nss\ydepth@nss=-\ydepth@nss% \advance\ydepth@nss by \y@nss \y@nss=\tempyy@nss \put(\x@nss,\y@nss){\framebox(\xsize@nss,\ydepth@nss){}} \put(\x@nss,\y@nss){\makebox(\xsize@nss,\tempy@nss) {\box\TextBox@nss}}} \def\case{\let\next=\@case\getoption} \def\@case#1#2#3#4% { \tempxx@nss=\number#2 \ifanygradient% %{% \ifnum\number\param@nss000>0 \tempyy@nss=\number\param@nss000% \ifodd\number#1 \advance\tempxx@nss by -1 \fi \else \tempyy@nss=\xsize@nss \divide\tempyy@nss by #1 \fi \ifnum\number#2=\tempxx@nss \xx@nss=\x@nss \advance\xx@nss by \xsize@nss \tempy@nss=\y@nss \advance\tempy@nss by -\tempyy@nss \ifemlines% \emline{\x@nss}{\y@nss}{}{\xx@nss}{\tempy@nss}{}% \else\ifcurves% \curve(\x@nss, \y@nss, \xx@nss, \tempy@nss)% \else\ifpictIIe% \tempxxx@nss=\xx@nss \advance\tempxxx@nss by -\x@nss \divide\tempxxx@nss by 1000 \tempyyy@nss=\tempy@nss \advance\tempyyy@nss by -\y@nss \divide\tempyyy@nss by 1000 \advance\xx@nss by -\x@nss \put(\x@nss,\y@nss){\line(\tempxxx@nss, \tempyyy@nss){\xx@nss}} \fi\fi\fi% \else \tempx@nss=\xsize@nss \multiply\tempx@nss by \tempxx@nss \divide\tempx@nss by #2 \xx@nss=\x@nss \advance\xx@nss by \tempx@nss \tempy@nss=\y@nss \advance\tempy@nss by -\tempyy@nss \ifemlines% \emline{\x@nss}{\y@nss}{}{\xx@nss}{\tempy@nss}{}% \else\ifcurves% \curve(\x@nss, \y@nss, \xx@nss, \tempy@nss)% \else\ifpictIIe% \begingroup \tempxxx@nss=\xx@nss \advance\tempxxx@nss by -\x@nss \divide\tempxxx@nss by 1000 \tempyyy@nss=\tempy@nss \advance\tempyyy@nss by -\y@nss \divide\tempyyy@nss by 1000 \advance\xx@nss by -\x@nss \put(\x@nss,\y@nss){\line(\tempxxx@nss, \tempyyy@nss){\xx@nss}} \endgroup \fi\fi\fi% \advance\x@nss by \xsize@nss \ifemlines% \emline{\x@nss}{\y@nss}{}{\xx@nss}{\tempy@nss}{}% \else\ifcurves% \curve(\x@nss, \y@nss, \xx@nss, \tempy@nss)% \else\ifpictIIe% \tempxxx@nss=\x@nss \advance\tempxxx@nss by -\xx@nss \divide\tempxxx@nss by 1000 \tempyyy@nss=\tempy@nss \advance\tempyyy@nss by -\y@nss \divide\tempyyy@nss by 1000 \xx@nss=-\xx@nss \advance\xx@nss by \x@nss \put(\x@nss,\y@nss){\line(-\tempxxx@nss, \tempyyy@nss){\xx@nss}} \fi\fi\fi% \advance\x@nss by -\xsize@nss \fi %}{ \else% \ifanygradient \ifnum\number\param@nss000>0 \typeout{struktex warning:}% \typeout{[...] not supplied without curves, emlines2, or pict2e}% \fi \put(\x@nss,\y@nss){\line(#1,-1){\xsize@nss}} \tempyy@nss=\xsize@nss \divide\tempyy@nss by #1 %} \fi% \ifanygradient \tempx@nss=\xsize@nss \divide\tempx@nss by 2 \divide\tempyy@nss by 2 \advance\x@nss by \tempx@nss \advance\y@nss by -\tempyy@nss \put(\x@nss,\y@nss){\makebox(\tempx@nss,\tempyy@nss){#3}} \advance\x@nss by -\tempx@nss \advance\y@nss by \tempyy@nss \xx@nss=\x@nss \yy@nss=\y@nss \tempx@nss=\xsize@nss \divide\tempx@nss by #2 \ifnum\number\param@nss000>0 \tempy@nss=\number\param@nss000% \else \tempy@nss=\xsize@nss \divide\tempy@nss by #1 \fi \condindent@nss=\tempy@nss \divide \condindent@nss by \tempxx@nss \advance\y@nss by -\tempy@nss \put(\x@nss,\y@nss)% {% \makebox(\tempx@nss,\tempy@nss)[lb]{\raise3pt\hbox{~#4}}% }% \ydepth@nss=1000000 \str@kt{\x@nss}{\y@nss}{\tempx@nss} } \def\switch% {% \@ifnextchar [{\@switch}{\@switch[l]}% } \def\@switch[#1]#2% { \global\gy@nss=\y@nss\endgroup \tempyy@nss=\gy@nss \ifnum\tempyy@nss<\ydepth@nss \ydepth@nss=\tempyy@nss \fi \advance\x@nss by \tempx@nss \advance\tempy@nss by -\condindent@nss \put(\x@nss,\y@nss)% {\makebox(\tempx@nss,\tempy@nss)[#1b]{\raise3pt\hbox{~#2~}}} \str@kt{\x@nss}{\y@nss}{\tempx@nss} } \def\caseend% { \global\gy@nss=\y@nss\endgroup \tempyy@nss=\gy@nss \ifnum\tempyy@nss<\ydepth@nss \ydepth@nss=\tempyy@nss \fi \x@nss=\xx@nss \y@nss=\ydepth@nss \tempyy@nss=\yy@nss \advance\tempyy@nss by -\ydepth@nss \put(\x@nss,\y@nss){\framebox(\xsize@nss,\tempyy@nss){}} \tempxx@nss=\x@nss \loop \put(\tempxx@nss,\y@nss){\line(0,1){\tempyy@nss}} \advance\tempyy@nss by -\condindent@nss \advance\tempxx@nss by \tempx@nss \xx@nss=\tempxx@nss \advance\xx@nss by -\x@nss \advance\xx@nss by 100 \ifnum \xx@nss<\xsize@nss \repeat } \newbox\CenterBox@nss% \def\centernss% {% \begin{trivlist}% \item[] \strut% \setbox\CenterBox@nss=\hbox% \bgroup% } \def\endcenternss% {% \egroup% \strut\hfill\box\CenterBox@nss\hfill\strut% \end{trivlist}% } \def\CenterNssFile#1% {% \begin{trivlist}% \item[] \setbox\CenterBox@nss=\hbox{\input{#1.nss}}% \strut\hfill\box\CenterBox@nss\hfill\strut% \end{trivlist}% } \let\centernssfile=\CenterNssFile \newcommand\assert{\let\next=\assert@nss\getoption}% \newcommand\assert@nss[1]{}% \ifthenelse{\boolean{verification}} { \countdef\xsizeo@nss=232% \countdef\ydeptho@nss=233% \renewcommand{\assert@nss}[1]% {% \tempx@nss=\xsize@nss\divide\tempx@nss by 6% \set@nss{#1}{\tempx@nss}\tempy@nss=\number\param@nss000% \assertblock@nss{\tempy@nss}{1}% } %% \newcommand{\assertblock@nss}[2]% {% \tempy@nss=#1\TextBoxHt@nss=\ht\TextBox@nss% \advance\TextBoxHt@nss by\dp\TextBox@nss% \advance\TextBoxHt@nss by 2mm% \ifdim\TextBoxHt@nss<\tempy@nss\unitlength% \TextBoxHt@nss=\tempy@nss\unitlength% \fi% \TextBoxHt@nss=0.00536\TextBoxHt@nss% \ydepth@nss=\TextBoxHt@nss\advance\y@nss by-\ydepth@nss% \xsizeo@nss=\xsize@nss \tempx@nss=\x@nss \divide\xsizeo@nss by 2% \advance\tempx@nss by+\xsizeo@nss% \ydeptho@nss=\ydepth@nss \tempy@nss=\y@nss \divide\ydeptho@nss by 2% \advance\tempy@nss by+\ydeptho@nss% \ifx#21% \put(\x@nss,\y@nss)% {% \framebox(\xsize@nss,\ydepth@nss){\box\TextBox@nss}% }% \put(\tempx@nss,\tempy@nss){\oval(\xsize@nss,\ydepth@nss)}% \else% \ifx#20% \put(\x@nss,\y@nss)% {% \makebox(\xsize@nss,\ydepth@nss){\box\TextBox@nss}% }% \put(\tempx@nss,\tempy@nss){\oval(\xsize@nss,\ydeptho@nss)}% \else% \advance\y@nss by \ydepth@nss% \fi% \fi% } } {} % end of \ifthenelse{\boolean{verification}} \endinput %% %% End of file `struktex.sty'.