%%
%% This is file `struktxp.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% struktex.dtx  (with options: `struktxp')
%% 
%% Copyright (C) 1989-2010 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_(at)_fh-aachen.de
\NeedsTeXFormat{LaTeX2e}[1999/12/01]{%
  \def\@svn@ $#1Date: #2-#3-#4 #5$$#6Revision: #7$ {%
  \ProvidesPackage{struktxp}[#2/#3/#4 v#7 Keywords for Nassi Shneiderman Charts (Jobst Hoffmann)]}
  \@svn@ $Date: 2012-04-10 21:57:12 +0200 (Di, 10 Apr 2012) $$Revision: 141 $ %
}
%%
\RequirePackage{url}
\newcommand{\pExpFont@nss}{\small\sffamily}
\newcommand{\pKeyFont@nss}{\small\sffamily\bfseries}
\newcommand{\pCommentFont@nss}{\small\sffamily\slshape}
\newcommand{\pFonts}[3]{%
  \def\argi@nss{#1} \def\argii@nss{#2} \def\argiii@nss{#3}%
  \ifx\argi@nss\empty\else%
    \renewcommand{\pExpFont@nss}{#1}%
  \fi%
  \ifx\argii@nss\empty\else%
    \renewcommand{\pKeyFont@nss}{#2}%
  \fi%
  \ifx\argiii@nss\empty\else%
    \renewcommand{\pCommentFont@nss}{#3}%
  \fi%
}
\newcommand{\pExpression}{%
  \bgroup%
    \catcode`\_=13  \let\_\textunderscore%
    \catcode`\^=12 \catcode`\&=12 %
    \pUseExpFont@nss%
}
\let\pExp=\pExpression
\newcommand{\pVariable}{%
  \begingroup%
    \catcode`\_=13 \let\_\textunderscore
    \catcode`\#=12 \catcode`\^=12 \catcode`\&=12 %
    \pVariabl@%
}
\let\pVar=\pVariable
\let\pKeyword=\pVariable
\let\pKey=\pVariable
\newcommand{\pVariabl@}[1]{%
    \def\arg{#1}%
    \ifx\pLanguage@nss\Cee@nss%
      \CheckForKeyword@nss{auto,break,case,char,const,continue,default,do,double,%
        else,enum,extern,float,for,goto,if,int,long,register,return,%
        short,signed,sizeof,static,struct,switch,typedef,union,unsigned,%
        void,volatile,while}%
    \else\ifx\pLanguage@nss\Java@nss%
      \CheckForKeyword@nss{abstract,boolean,break,byte,case,catch,char,class,const,%
        continue,default,do,double,else,extends,final,finally,float,for,%
        goto,if,implements,import,instanceof,int,interface,long,native,%
        new,null,package,private,protected,public,return,short,static,%
        super,switch,synchronized,this,throw,throws,transient,try,void,%
        volatile,while,true,false}%
    \else\ifx\pLanguage@nss\Pascal@nss%
      \CheckForKeyword@nss{alfa,and,array,begin,boolean,byte,case,char,const,div,do,%
        downto,else,end,false,file,for,function,get,goto,if,in,integer,%
        label,maxint,mod,new,not,of,or,pack,packed,page,program,put,%
        procedure,read,readln,real,record,repeat,reset,rewrite,set,text,%
        then,to,true,type,unpack,until,var,while,with,write,writeln}%
    \else\ifx\pLanguage@nss\Python@nss%
      \CheckForKeyword@nss{and,assert,break,class,continue,def,del,elif,else,%
        except,exec,finally,for,from,global,if,import,in,is,lambda,not,or,%
        pass,print,raise,return,try,while,yield}%
    \else\ifx\pLanguage@nss\LaTeX@nss%
      \CheckForKeyword@nss{center,description,enumerate,figure,itemize,
        list,quote,tabbing,tabular,table,}%
    \else%
      \CheckForKeyword@nss{}%
    \fi\fi\fi\fi\fi%
    \url{#1}
  \endgroup%
}
\newcommand{\pLanguage}[1]{\gdef\pLanguage@nss{#1}}
\def\Cee@nss{C}
\def\Java@nss{Java}
\def\Pascal@nss{Pascal}
\def\LaTeX@nss{LaTeX}
\def\Python@nss{Python}
\def\OSII@nss{OS/2}
\def\CheckForKeyword@nss#1%
{%
    \let\exec\pExpFont@nss%
    \def\endList{!}%
    \def\yyI##1,%
    {%
        \def\token{##1}%
        \ifx\token\endList%
            \def\UrlFont{\exec}
        \else%
            \ifx\token\arg%
                \let\exec\pKeyFont@nss%
            \fi%
            \expandafter\yyI%
        \fi%
    }%
    \yyI#1,!,%
}
\def\pComment{%
    \bgroup%
        \pCommentFont@nss%
        \let\next=%
}
{%
  \catcode`\#=6%
  \gdef\pUseKeyFont@nss#1{%
    \ifmmode\else\let\mbox=\relax\fi%
    \mbox{\pKeyFont@nss{#1}}\egroup%
  }
  \gdef\pUseExpFont@nss#1{%
    \ifmmode\else\let\mbox=\relax\fi%
    \mbox{\pExpFont@nss{#1}}\egroup%
  }
}
\newcommand{\pTrue@nss}{\texttt{\pTruename@nss}}
\newcommand{\pFalse@nss}{\texttt{\pFalsename@nss}}
\newcommand{\pTrue}{\pTrue@nss}
\newcommand{\pFalse}{\pFalse@nss}
\newcommand{\pBoolValue}[2]{%
  \renewcommand{\pTrue@nss}{#1}%
  \renewcommand{\pFalse@nss}{#2}%
}
\let\sBoolValue=\pBoolValue
\let\sVar=\pVariable
\let\sKey=\pKeyword
\let\sTrue=\pTrue
\let\sFalse=\pFalse
\endinput
%%
%% End of file `struktxp.sty'.
