hetcasl.sty revision a64c611a70bcd732bde5ad2b6fac66bd5942484d
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder\ProvidesPackage{hetcasl}[2002/10/04 v0.1 LaTeX Package for CASL v1.0.1]
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder\NeedsTeXFormat{LaTeX2e}
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder% Required packages
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder\RequirePackage{ifthen}
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder\RequirePackage{tabularx}
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder\RequirePackage{calc}
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder\RequirePackage[latin1]{inputenc}
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder\RequirePackage{xspace}
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder\newcounter{@opentabulars}
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder\setcounter{@opentabulars}{0}
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder\newlength{\@oldparindent}
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder\newlength{\@hetcaslmaxwidth}
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder\newlength{\@remhetcaslwidth}
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder\newlength{\@KWwidth}%
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder% The next two length variables will be used in \KW
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder\newlength{\@realWidth}\newlength{\@neededWidth}
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder\newif\ifhetcasl \hetcaslfalse
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder\newenvironment{hetcasl}[1][\textwidth]%
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder\PackageError{hetcasl evironments cannot nested}%
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder\else\hetcasltrue\fi%
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder\setlength{\@oldparindent}{\the\parindent}%
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder\setlength{\parindent}{0cm}%
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder\setlength{\@hetcaslmaxwidth}{#1}%
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder\setlength{\@remhetcaslwidth}{\the\@hetcaslmaxwidth}%
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder%\begin{alltt}\begingroup\rmfamily
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder\begin{tabbing}%
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder% a little line to set up three useful tabstops for rendering parts
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder% of a library and or specification
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder\KW{view} \=\KW{preds} \=~~~~~~~\=\kill
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder%\endgroup\end{alltt}
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder%\@CloseAllTabulars%
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder\setlength{\parindent}{\the\@oldparindent}%
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder\newcommand{\@HetCASLPrelude}{%
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder\settowidth{\@KWwidth}{\textbf{view}}
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder%%%% define all the makros needed for typesetting hetCASL
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder% \KW prints a KeyWord within a box that is at least \@KWwidth wide.
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder% If the keyword needs more space the box is as wide as the kyeword
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder% is. The optional argument overrides \@KWwidth with the width of the
%% Makros aus casl.sty definieren