Change to DHBW beamertheme. Add WIldcard creation slide
This commit is contained in:
parent
2e0909dcea
commit
22a8f80484
214
beamerthemeDHBW.sty
Executable file
214
beamerthemeDHBW.sty
Executable file
@ -0,0 +1,214 @@
|
|||||||
|
\ProvidesPackage{beamerthemeDHBW}[2015/06/08]
|
||||||
|
|
||||||
|
\usepackage[size=custom,width=27.517,height=19.25,scale=0.8,orientation=portrait]{beamerposter}
|
||||||
|
\setbeamersize{text margin left=2.12cm,text margin right=1.7585cm}
|
||||||
|
|
||||||
|
\usepackage{ifthen}
|
||||||
|
|
||||||
|
\definecolor{DHBWrot}{RGB}{226,0,26}
|
||||||
|
\definecolor{DHBWgrau}{RGB}{92,105,113}
|
||||||
|
\definecolor{DHBWhellgrau}{RGB}{124,135,141}
|
||||||
|
\definecolor{DHBWrotgrau}{RGB}{137,3,19}
|
||||||
|
|
||||||
|
\pgfdeclareimage[height=1.56cm]{DHBWlogo_klein}{images/dhbw-horb} % Hier das Logo der DHBW angeben (ohne Dateiendung)
|
||||||
|
\pgfdeclareimage[height=2.39cm]{DHBWlogo_gross}{images/dhbw-horb} % Hier das Logo der DHBW angeben (ohne Dateiendung)
|
||||||
|
\pgfdeclareimage[height=4.6cm,width=\paperwidth]{titel_bg}{images/DHBWtitel_bg}
|
||||||
|
\pgfdeclareimage[height=0.45cm]{itemize_items}{images/DHBW_itemize_items}
|
||||||
|
\pgfdeclareimage[height=0.45cm]{itemize_subitem}{images/DHBW_itemize_subitem}
|
||||||
|
|
||||||
|
\newcommand\DHBWurl{\internetadresse}
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Befehl um Kapitel und Unterkapitel auf den Folien anzuzeigen
|
||||||
|
% (Verwendung duch \zeigeKapitel am Anfang eines \begin{frame})
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
\newcommand\zeigeKapitel{
|
||||||
|
\begin{textblock*}{237.1mm}(21.2mm,40.2mm)
|
||||||
|
{\fontsize{12}{0}\selectfont\usebeamercolor[fg]{section}\insertsection}% Kapitel
|
||||||
|
\vskip.5ex %Zeilenumbruch
|
||||||
|
{\fontsize{22}{0}\selectfont\usebeamercolor[fg]{subsection}\insertsubsection}% Unterkapitel
|
||||||
|
|
||||||
|
% Frametitle kann experimentell eingeblendet werden - ist eigentlich nicht vorgesehen!
|
||||||
|
{\fontsize{15}{0}\selectfont\usebeamercolor[fg]{subsection}\insertframetitle}% Frametitle
|
||||||
|
\end{textblock*}
|
||||||
|
\vskip27.5mm% Abstand von oben vor Folieninhalt
|
||||||
|
}
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Befehl um Kopfzeile und Fußzeile auf den Folien anzuzeigen.
|
||||||
|
% Wird im Abschnitt Outer theme verwendet.
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
\newcommand\HeadlineFootline{
|
||||||
|
\setbeamertemplate{headline}{%
|
||||||
|
\ifnum\c@framenumber<2% Titlefolie ohne Kopfzeile
|
||||||
|
\else
|
||||||
|
\pgftext[left, top, at={\pgfpoint{15.6mm}{-7.7mm}}]{\pgfuseimage{DHBWlogo_klein}}
|
||||||
|
\begin{textblock*}{\paperwidth}(0mm,13.9mm)
|
||||||
|
\hfill\fontsize{12}{0}\selectfont\usebeamercolor[fg]{headline}\insertshortdate\hspace{1.7585cm} % rechtsbündig das Datum der Präsentation
|
||||||
|
\end{textblock*}
|
||||||
|
\begin{textblock*}{0mm}(117.5mm,19mm)
|
||||||
|
\noindent\rule{140.344mm}{0.4pt}
|
||||||
|
\end{textblock*}
|
||||||
|
\begin{textblock*}{\paperwidth}(0mm,22.5mm)
|
||||||
|
\fontsize{12}{0}\selectfont\usebeamercolor[fg]{headline}
|
||||||
|
%\hspace{12cm}\insertsection
|
||||||
|
\hfill\insertshorttitle\hspace{1.7585cm} % rechtsbündig der Titel der Präsentation
|
||||||
|
\end{textblock*}
|
||||||
|
\fi
|
||||||
|
\vskip27.2mm% Abstand von oben vor Folieninhalt
|
||||||
|
%\vskip40.2mm% Abstand von oben vor Folieninhalt
|
||||||
|
}
|
||||||
|
\setbeamertemplate{footline}{%
|
||||||
|
\ifnum\c@framenumber<2% Titlefolie ohne Fußzeile
|
||||||
|
\else
|
||||||
|
\begin{textblock*}{0mm}(17mm,173.53mm)
|
||||||
|
\noindent\rule{241.375mm}{0.4pt}
|
||||||
|
\end{textblock*}
|
||||||
|
\begin{textblock*}{\paperwidth}(0mm,177.3mm)
|
||||||
|
\hfill\fontsize{12}{0}\selectfont\usebeamercolor[fg]{footline}\insertsection\hspace{.5em}
|
||||||
|
\textbar\hspace{.5em}Seite \insertframenumber\hspace{1.7585cm} % rechtsbündig die Foliennummer
|
||||||
|
\end{textblock*}
|
||||||
|
\fi
|
||||||
|
\vspace{1.5cm} % unterer Rand des Folieninhalts
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
%% Title Page
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
\setbeamertemplate{title page}
|
||||||
|
{
|
||||||
|
\begin{textblock*}{\paperwidth}(14.4mm,7mm)
|
||||||
|
\pgfuseimage{DHBWlogo_gross}
|
||||||
|
\end{textblock*}
|
||||||
|
|
||||||
|
\begin{textblock*}{\paperwidth}(0mm,58.3mm)
|
||||||
|
\begin{center}
|
||||||
|
{\usebeamerfont{title}\fontsize{46}{0}\selectfont\usebeamercolor[fg]{title}\inserttitle}
|
||||||
|
\end{center}
|
||||||
|
\end{textblock*}
|
||||||
|
|
||||||
|
\begin{textblock*}{192.7mm}(62.9mm,99mm)
|
||||||
|
{\usebeamerfont{subtitle}\fontsize{25}{0}\selectfont\usebeamercolor[fg]{subtitle}\insertsubtitle}
|
||||||
|
\end{textblock*}
|
||||||
|
|
||||||
|
\begin{textblock*}{162.9mm}(63.5mm,114.3mm)
|
||||||
|
{\usebeamerfont{author}\fontsize{15}{0}\selectfont\usebeamercolor[fg]{author}\insertauthor}
|
||||||
|
\end{textblock*}
|
||||||
|
|
||||||
|
\begin{textblock*}{\paperwidth}(0mm,133.4mm)
|
||||||
|
\pgfuseimage{titel_bg}
|
||||||
|
\end{textblock*}
|
||||||
|
|
||||||
|
\begin{textblock*}{\paperwidth}(0mm,149.5mm)
|
||||||
|
\begin{center}
|
||||||
|
{\fontsize{20}{12} \selectfont \color{white} \textbf{\DHBWurl}}
|
||||||
|
\end{center}
|
||||||
|
\end{textblock*}
|
||||||
|
}
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Outer theme
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
\useoutertheme{default}
|
||||||
|
\HeadlineFootline
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Inner Theme
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
\useinnertheme{rectangles}
|
||||||
|
\setbeamertemplate{navigation symbols}{} % Navigationssymbole sind ausgeblendet
|
||||||
|
|
||||||
|
% Setzen der Einzüge bei Aufzählungen
|
||||||
|
%\setlength{\leftmargini}{.5em}
|
||||||
|
%\setlength{\leftmarginii}{1.0em}
|
||||||
|
%\setlength{\leftmarginiii}{1.5em}
|
||||||
|
%\setlength{\leftmarginiv}{2.0em}
|
||||||
|
%\setlength{\leftmarginv}{2.5em}
|
||||||
|
%\setlength{\leftmarginvi}{3.0em}
|
||||||
|
|
||||||
|
\setbeamertemplate{itemize items}{\pgfuseimage{itemize_items}}% Aufzählungszeichen
|
||||||
|
\setbeamertemplate{itemize subitem}{\pgfuseimage{itemize_subitem}}% Aufzählungszeichen Unterpunkte
|
||||||
|
\setbeamertemplate{itemize subsubitem}{\pgfuseimage{itemize_subitem}}% Aufzählungszeichen Unter-Unterpunkt
|
||||||
|
|
||||||
|
\setbeamertemplate{frametitle}{\normalsize \insertframetitle} %Frametitle ausgeblendet (wird nicht verwendet!)
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Setzen der Schriftgrößen für verschiedene Folieninhalte
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
\setbeamertemplate{block begin}{%
|
||||||
|
\fontsize{13}{14.3}{\selectfont\usebeamercolor[fg]{block title}\textbf{\insertblocktitle}}%
|
||||||
|
\vskip.5ex %
|
||||||
|
%\begin{beamercolorbox}{DHWBgrau}%
|
||||||
|
\fontsize{13}{14.3}\selectfont\usebeamercolor[fg]{block body}
|
||||||
|
}
|
||||||
|
\setbeamertemplate{block end}{%
|
||||||
|
%\end{beamercolorbox}\vskip\smallskipamount
|
||||||
|
\hfill\null%
|
||||||
|
}
|
||||||
|
|
||||||
|
\setbeamertemplate{block alerted begin}{%
|
||||||
|
\fontsize{13}{14.3}\selectfont\usebeamercolor[fg]{block title}\textbf{\insertblocktitle}
|
||||||
|
\vskip.5ex %
|
||||||
|
\fontsize{13}{14.3}\selectfont\usebeamercolor[fg]{block alerted body}
|
||||||
|
}
|
||||||
|
\setbeamertemplate{block alerted end}{%
|
||||||
|
\hfill\null%
|
||||||
|
}
|
||||||
|
|
||||||
|
\setbeamertemplate{block example begin}{%
|
||||||
|
\fontsize{13}{14.3}\selectfont\usebeamercolor[fg]{block title}\textbf{\insertblocktitle}
|
||||||
|
\vskip.5ex %
|
||||||
|
\fontsize{13}{14.3}\selectfont\usebeamercolor[fg]{block example body}
|
||||||
|
}
|
||||||
|
\setbeamertemplate{block example end}{%
|
||||||
|
\hfill\null%
|
||||||
|
}
|
||||||
|
|
||||||
|
\setbeamertemplate{itemize/enumerate body begin}{\setlength{\labelwidth}{10ex}
|
||||||
|
%\fontsize{17}{14.3}
|
||||||
|
\selectfont\usebeamercolor[fg]{block itemize body}
|
||||||
|
}
|
||||||
|
\setbeamertemplate{itemize/enumerate body end}{%
|
||||||
|
\hfill\null%
|
||||||
|
}
|
||||||
|
\setbeamertemplate{itemize/enumerate subbody begin}{
|
||||||
|
%\fontsize{13}{14.3}
|
||||||
|
\selectfont\usebeamercolor[fg]{block itemize body}
|
||||||
|
}
|
||||||
|
\setbeamertemplate{itemize/enumerate subbody end}{%
|
||||||
|
\hfill\null%
|
||||||
|
}
|
||||||
|
\setbeamertemplate{itemize/enumerate subsubbody begin}{
|
||||||
|
\fontsize{13}{14.3}\selectfont\usebeamercolor[fg]{block itemize body}
|
||||||
|
}
|
||||||
|
\setbeamertemplate{itemize/enumerate subsubbody end}{%
|
||||||
|
\hfill\null%
|
||||||
|
}
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% (Schrift-)Farben
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
\usecolortheme[named=DHBWgrau]{structure}
|
||||||
|
\setbeamercolor{title page}{fg=DHBWgrau, bg=white}
|
||||||
|
\setbeamercolor{logo}{bg=DHBWrot}
|
||||||
|
\setbeamercolor{title}{fg=DHBWgrau,bg=white}
|
||||||
|
\setbeamercolor{subtitle}{fg=DHBWgrau,bg=white}
|
||||||
|
\setbeamercolor{author}{fg=DHBWgrau,bg=white}
|
||||||
|
\setbeamercolor{date}{fg=DHBWgrau,bg=white}
|
||||||
|
\setbeamercolor{shorttitle}{fg=DHBWgrau,bg=white}
|
||||||
|
\setbeamercolor{frametitle}{fg=DHBWrot,bg=white}
|
||||||
|
\setbeamercolor{headline}{fg=DHBWgrau,bg=white}
|
||||||
|
\setbeamercolor{footline}{fg=DHBWgrau,bg=white}
|
||||||
|
\setbeamercolor{section}{fg=DHBWrot,bg=white}
|
||||||
|
\setbeamercolor{subsection}{fg=DHBWgrau,bg=white}
|
||||||
|
\setbeamercolor{enumerate item}{bg=white,fg=DHBWrot}
|
||||||
|
\setbeamercolor{description item}{bg=white,fg=DHBWrot}
|
||||||
|
\setbeamercolor{item projected}{bg=DHBWrot,fg=white}
|
||||||
|
\setbeamercolor{block title}{bg=white,fg=DHBWgrau}
|
||||||
|
\setbeamercolor{block body}{bg=white,fg=DHBWgrau}
|
||||||
|
\setbeamercolor{block alerted body}{bg=white,fg=DHBWrau}
|
||||||
|
\setbeamercolor{block example body}{bg=white,fg=DHBWgrau}
|
||||||
|
\setbeamercolor{block itemize body}{bg=white,fg=DHBWgrau}
|
||||||
|
\setbeamercolor*{block title example}{bg=white,fg=DHBWgrau}
|
||||||
|
\setbeamercolor*{block body example}{bg=white,fg=DHBWgrau}
|
9
einstellungen_liste.tex
Executable file
9
einstellungen_liste.tex
Executable file
@ -0,0 +1,9 @@
|
|||||||
|
\einstellung{titel}
|
||||||
|
\einstellung{untertitel}
|
||||||
|
\einstellung{datum}
|
||||||
|
\einstellung{studiengang}
|
||||||
|
\einstellung{dhbw}
|
||||||
|
\einstellung{autor}
|
||||||
|
\einstellung{sprache}
|
||||||
|
\einstellung{schriftart}
|
||||||
|
\einstellung{internetadresse}
|
BIN
images/DHBW_itemize_items.png
Executable file
BIN
images/DHBW_itemize_items.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 254 B |
BIN
images/DHBW_itemize_subitem.png
Executable file
BIN
images/DHBW_itemize_subitem.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 153 B |
BIN
images/DHBWtitel_bg.png
Executable file
BIN
images/DHBWtitel_bg.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 261 B |
BIN
images/dhbw-horb.png
Executable file
BIN
images/dhbw-horb.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 29 KiB |
@ -18,6 +18,8 @@
|
|||||||
\lstdefinestyle{java}{backgroundcolor=\color{lightgray!20}}
|
\lstdefinestyle{java}{backgroundcolor=\color{lightgray!20}}
|
||||||
|
|
||||||
|
|
||||||
|
\newcommand{\highlight}[1]{\begingroup\fboxsep=0pt\colorbox{yellow}{$\displaystyle #1$}\endgroup}
|
||||||
|
|
||||||
\newcommand{\tifj}{\texttt{TamedFJ}}
|
\newcommand{\tifj}{\texttt{TamedFJ}}
|
||||||
|
|
||||||
\newcommand{\wcSep}{\vdash}
|
\newcommand{\wcSep}{\vdash}
|
||||||
|
786
prolog_slide.sty
Executable file
786
prolog_slide.sty
Executable file
@ -0,0 +1,786 @@
|
|||||||
|
\usepackage{float}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{xspace_spezial}
|
||||||
|
%\usepackage{amsmath}
|
||||||
|
%\usepackage{amssymb}
|
||||||
|
\usepackage{alltt}
|
||||||
|
\usepackage{fancybox}
|
||||||
|
\usepackage{stmaryrd}
|
||||||
|
\usepackage{verbatim}
|
||||||
|
\usepackage{epsfig}
|
||||||
|
%\usepackage{multicol}
|
||||||
|
\usepackage{longtable}
|
||||||
|
\newlength{\textwid}
|
||||||
|
\setlength{\textwid}{\textwidth}
|
||||||
|
\addtolength{\textwid}{-4ex}
|
||||||
|
\newlength{\textfighei}
|
||||||
|
\setlength{\textfighei}{\textheight}
|
||||||
|
\addtolength{\textfighei}{-10ex}
|
||||||
|
\DeclareSymbolFont{blackboard}{OT1}{bbm}{m}{sl}
|
||||||
|
\DeclareMathSymbol{\IR}{0}{blackboard}{"52}
|
||||||
|
\DeclareMathSymbol{\IN}{0}{blackboard}{"4E}
|
||||||
|
\DeclareMathSymbol{\IF}{0}{blackboard}{"46}
|
||||||
|
\DeclareMathSymbol{\IP}{0}{blackboard}{"50}
|
||||||
|
\DeclareMathSymbol{\IK}{0}{blackboard}{"4D}
|
||||||
|
\DeclareMathSymbol{\IZ}{0}{blackboard}{"5A}
|
||||||
|
\DeclareMathSymbol{\IQ}{0}{blackboard}{"51}
|
||||||
|
\DeclareMathSymbol{\IC}{0}{blackboard}{"43}
|
||||||
|
\parindent 0mm
|
||||||
|
\renewcommand{\unlhd}{<}
|
||||||
|
%\renewcommand{\lhd}{<\!\!|}
|
||||||
|
%\renewcommand{\rhd}{|\!\!>}
|
||||||
|
%\definecolor{blue}{rgb}{0,0,1}
|
||||||
|
%\definecolor{red}{rgb}{1,0,0}
|
||||||
|
%\definecolor{green}{rgb}{0,1,0.3}
|
||||||
|
%\definecolor{bluered}{rgb}{1,0,1}
|
||||||
|
%\definecolor{bluegreen}{rgb}{1,0.3,0}
|
||||||
|
%\newcommand{\black}[1]{\textcolor{black}{#1}}
|
||||||
|
%\newcommand{\red}[1]{\textcolor{red}{#1}}
|
||||||
|
%\newcommand{\blue}[1]{\textcolor{blue}{#1}}
|
||||||
|
%\newcommand{\green}[1]{\textcolor{green}{#1}}
|
||||||
|
%\newcommand{\bluered}[1]{\textcolor{bluered}{#1}}
|
||||||
|
%\newcommand{\bluegreen}[1]{\textcolor{bluegreen}{#1}}
|
||||||
|
\reversemarginpar
|
||||||
|
%\newcommand{\commentary}[1]{\marginpar[\tiny #1]{\tiny #1}}
|
||||||
|
%\newcommand{\commentaryforKlaeren}[1]{\marginpar[\tiny #1]{\tiny #1}}
|
||||||
|
\newcommand{\commentary}[1]{}
|
||||||
|
\newcommand{\commentaryforKlaeren}[1]{}
|
||||||
|
%\newcommand{\commentaryN}[1]{\marginpar[\tiny #1]{\tiny #1}}
|
||||||
|
\newcommand{\commentaryN}[1]{}
|
||||||
|
\newcommand{\subsec}[1]{\textbf{\medskip\\\large #1\medskip}}
|
||||||
|
%
|
||||||
|
% figure - Einstellungen
|
||||||
|
%
|
||||||
|
\def\textfraction{0}
|
||||||
|
\def\topfraction{1}
|
||||||
|
\def\bottomfraction{1}
|
||||||
|
\def\floatpagefraction{0}
|
||||||
|
\renewcommand{\floatpagefraction}{0.9}
|
||||||
|
%\def\dbltopfraction{1}
|
||||||
|
%\def\dblfloatpagefraction{1.0}
|
||||||
|
\newcommand{\indexentry}[2]{\item[] #1 \dotfill #2\qquad\qquad\vspace{-0.8em}}
|
||||||
|
\newcommand{\sub}{\textrm{\,$\sqsubseteq$\,}\xspace}
|
||||||
|
\newcommand{\nsub}{\text{\,$\not\sqsubseteq$\,}\xspace}
|
||||||
|
\newcommand{\ecap}{\mbox{$\,\sqcap\,$}}
|
||||||
|
\newcommand{\ecup}{\mbox{$\,\sqcup\,$}}
|
||||||
|
\newcommand{\pre}{\mbox{$\,\preceq\,$}}
|
||||||
|
\newcommand{\botam}{{\{\, \bot,\ \amalg \,\}}\xspace}
|
||||||
|
|
||||||
|
%
|
||||||
|
% Substitutions
|
||||||
|
%
|
||||||
|
\newcommand{\subst}{\textrm{$\expbf{subst}{\normaltset}$}}
|
||||||
|
|
||||||
|
%
|
||||||
|
% Signaturen
|
||||||
|
%
|
||||||
|
\def\einf#1#2{\mbox{$(#1,~#2)$}\xspace}
|
||||||
|
\newcommand{\sig}{\einf{\normalbtermset}{\Theta}}
|
||||||
|
\def\typesig{\einf{\simpletype}{TC}}
|
||||||
|
\newcommand{\einsig}{\einf{\normaltermset}{F}\xspace}
|
||||||
|
\newcommand{\msig}{\einsig}
|
||||||
|
\newcommand{\mssig}{\einf{\equivtermset}{F_{ms}}\xspace}
|
||||||
|
\newcommand{\ossig}{\einf{\normaltset, \sub}{F_{os}}\xspace}
|
||||||
|
\def\einfm#1#2{\langle #1,\ #2 \rangle}
|
||||||
|
\def\pos#1#2{\einf{#1,\ \sqsubseteq}{#2}}
|
||||||
|
\def\posm#1#2{\pos{#1}{#2}}
|
||||||
|
\def\posSO#1{\pos{#1}{F}}
|
||||||
|
\def\posSIG#1{\pos{S}{#1}}
|
||||||
|
\newcommand{\posig}{\pos{S}{\Sigma}}
|
||||||
|
\newcommand{\overposig}{\pos{\overline{S}}{\overline{\Sigma}}}
|
||||||
|
\def\fsf#1#2#3{\mbox{$#1^{(#2,#3)}$}\xspace}
|
||||||
|
\def\Sigmaa#1#2{\fsf{F}{#1}{#2}\xspace}
|
||||||
|
\newcommand{\Sigmaws}{\Sigmaa{w}{s}}
|
||||||
|
\newcommand{\Sigmawt}{\Sigmaa{w}{\theta}}
|
||||||
|
\def\mathrmtt#1{\mbox{\rm \texttt{#1}}}
|
||||||
|
\def\set#1{\{\,#1 \,\}}
|
||||||
|
\newcommand{\termset}[3]{\textrm{$\exp{#1_{#2}}{#3}$}\xspace}
|
||||||
|
\newcommand{\normaltset}{\termset{T}{\Theta}{TV}}
|
||||||
|
\newcommand{\normaltermset}{\termset{T}{\Theta}{TV}}
|
||||||
|
\newcommand{\simpletype}{\textrm{$\expsf{SType$_{\mathit{TS}}$}{BTV}$}\xspace}
|
||||||
|
\newcommand{\QMextends}[1]{\textrm{\tt ?\,extends}\,#1}
|
||||||
|
\newcommand{\QMextendsabbr}[1]{\textrm{\tt ?\,ext.}\,#1}
|
||||||
|
\newcommand{\QMsuper}[1]{\textrm{\tt ?\,super}\,#1}
|
||||||
|
\newcommand{\alltype}{\textrm{$\expsf{Type$_{\mathit{TS}}$}{BTV}$}\xspace}
|
||||||
|
\newcommand{\lambdatype}[2]{\textrm{$\#\, #1 \, (#2)$}}
|
||||||
|
\newcommand{\funtype}[3]{\textrm{\exptype{{\texttt{Fun}}\textit{#1}}{$#2 , #3$}}}
|
||||||
|
\newcommand{\funtypett}[3]{\textrm{\exptype{{\texttt{Fun}}\texttt{#1}}{$\mathtt{#2} , \mathtt{#3}$}}}
|
||||||
|
\newcommand{\functiontype}[2]{\textrm{\exptype{{{\texttt{Function}}}}{$#1,#2$}}}
|
||||||
|
\newcommand{\functiontypett}[2]{\textrm{\exptype{{\texttt{Function}}}{$\mathtt{#1} , \mathtt{#2}$}}}
|
||||||
|
\newcommand{\funtypestar}[3]{\textrm{\exptype{\texttt{Fun#1}\$\$}{$#2$,$ #3$}}}
|
||||||
|
\newcommand{\funtypestarsmall}[3]{\textrm{\exptype{\small\texttt{Fun#1}\$\$}{$#2, #3$}}}
|
||||||
|
\newcommand{\funtypestartt}[3]{\textrm{\exptype{{\texttt{Fun}}\texttt{#1\$\$}}{$\mathtt{#2} $,\linebreak[0]$\mathtt{#3}$}}}
|
||||||
|
%\newcommand{\funtypestartt}[3]{\textrm{\exptype{{\rm \texttt{Fun}}\texttt{#1}$*$}{$\mathtt{#2} , \mathtt{#3}$}}}
|
||||||
|
\newcommand{\funtypettsmall}[3]{\exptype{\smallmathtt{Fun{#1}}}{\smallmathtt{#2} ,\smallmathtt{#3}}}
|
||||||
|
\newcommand{\funtypestarttsmall}[3]{\exptype{\smallmathtt{Fun{#1}*}}{\mbox{\smallmathtt{#2},}\smallmathtt{#3}}}
|
||||||
|
\newcommand{\lambdatypett}[2]{\lambdatype{\mathtt{#1}}{\mathtt{#2}}}
|
||||||
|
\newcommand{\extsimpletype}{\textrm{$\expsf{ExtSType$_{\mathit{TS}}$}{BTV}$}\xspace}
|
||||||
|
\newcommand{\normalbtermset}{\termset{T}{TC}{BTV}}
|
||||||
|
\newcommand{\equivtermset}{\textrm{$\exp{T_{\Theta_{\sim}}}{TV}$}\xspace}
|
||||||
|
\newcommand{\equiva}[1]{[#1]_{\sim}}
|
||||||
|
\newcommand{\popoSIG}[1]{\einf{\normaltset,~\sqsubseteq}{#1}}
|
||||||
|
\newcommand{\poposig}{\popoSIG{F}}
|
||||||
|
%\newcommand{\poss}{polymorphically order-sorted signature\xspace}
|
||||||
|
%\newcommand{\posa}{polymorphically order-sorted algebra\xspace}
|
||||||
|
\newcommand{\polyosalg}{\textrm{\rm \textbf{PolyOSAlg}$_{\SigO}$}}
|
||||||
|
\newcommand{\polyalg}{\textrm{\rm \textbf{PolyAlg}$_{\SigM}$}}
|
||||||
|
\newcommand{\SigO}{\textrm{$\Sigma_{\textit{os}}$}\xspace}
|
||||||
|
\newcommand{\FuO}{\textrm{$F$}\xspace}
|
||||||
|
\newcommand{\SigM}{\textrm{$\Sigma_{\textit{ms}}$}\xspace}
|
||||||
|
\newcommand{\FuM}{\textrm{$F$}\xspace}
|
||||||
|
\newcommand{\Sig}{\textrm{$\Sigma$}\xspace}
|
||||||
|
\newcommand{\SigE}{\textrm{$\Sigma_{\textit{ext}}$}\xspace}
|
||||||
|
\newcommand{\objprogram}{\textrm{$<\Sig, \, E>$}\xspace}
|
||||||
|
|
||||||
|
%
|
||||||
|
% Algebren
|
||||||
|
%
|
||||||
|
\let\oldsqsubseteq=\sqsubseteq
|
||||||
|
\renewcommand{\sqsubseteq}{\leq}
|
||||||
|
\def\alg#1#2{\textrm{{\rm (}$#1;#2${\rm )}}\xspace}
|
||||||
|
\def\algm#1#2{(#1;#2)}
|
||||||
|
\def\algME#1{\alg{#1}{\alpha}}
|
||||||
|
\def\algABB#1{\alg{A}{#1}}
|
||||||
|
\def\algebra{\alg{A}{\alpha}}
|
||||||
|
\def\termalg{\mbox{$\algm{T_{\text{\rm posig}}}{\iota}$}}
|
||||||
|
\def\termalgm#1{\algm{T_{\text{#1}}}{\iota_{\text{#1}}}}
|
||||||
|
\def\OStermsetvar#1{\textrm{$T_{\SigO}#1$}\xspace}
|
||||||
|
\def\OStermset{\OStermsetvar{(V)}}
|
||||||
|
\def\OStset{\OStermsetvar{}\xspace}
|
||||||
|
\def\OStermsettypevar#1#2{\textrm{$T^{#1}_{\SigO}#2$}\xspace}
|
||||||
|
\def\OStermsettype#1{\OStermsettypevar{#1}{(V)}}
|
||||||
|
\def\ops{\exp{Ops}{A}}
|
||||||
|
\def\exp#1#2{#1(\,#2\,)\xspace}
|
||||||
|
%\def\exptt#1#2{\exp{\text{\tt #1}}{\text{\tt #2}}}
|
||||||
|
%\def\exptt#1#2{\exp{\texttt{#1}}{\texttt{#2}}}
|
||||||
|
\def\exptt#1#2{\exp{\mbox{$\mathtt{#1}$}}{\mbox{$\mathtt{#2}$}}}
|
||||||
|
\def\expsyn#1#2{\exp{\syn{#1}}{\syn{#2}}}
|
||||||
|
\def\expbf#1#2{\exp{\textbf{#1}}{#2}}
|
||||||
|
\def\expsf#1#2{\exp{\textsf{#1}}{#2}}
|
||||||
|
\def\exptype#1#2{#1\texttt{<}#2\texttt{>}\xspace}
|
||||||
|
\def\exptypett#1#2{\texttt{#1<#2>}\xspace}
|
||||||
|
%\def\exptypett#1#2{\mathtt{#1}\mathrm{{\tt <}}\mathtt{#2}\mathrm{{\tt >}}\xspace}
|
||||||
|
\def\smalltt#1{\texttt{\small #1}}
|
||||||
|
\def\smallmathtt#1{\textrm{\small $\tt #1$}}
|
||||||
|
\def\term{\textrm{$\exp{f}{t_1, \ \ldots \ ,t_n}$}\xspace}
|
||||||
|
\def\hverbandm#1#2{\textrm{$(#1,~#2)$}}
|
||||||
|
\def\partord#1#2{\hverbandm{#1}{#2}\xspace}
|
||||||
|
\def\eval#1{eval_{\left<#1\right>}\xspace}
|
||||||
|
\def\evalA{$\eval{\algm{A}{\alpha}}$\xspace}
|
||||||
|
\def\la#1#2{\mbox{$\lambda#1.#2$}\xspace}
|
||||||
|
\def\set#1{\{\, #1 \,\}}
|
||||||
|
|
||||||
|
\newcommand{\inletters}[1]{
|
||||||
|
\ifx\the
|
||||||
|
first
|
||||||
|
\fi}
|
||||||
|
|
||||||
|
%\newcommand{\olsub}{\textrm{$\, \ol{\sqsubseteq} \,$}\xspace}
|
||||||
|
\newcommand{\olsub}{\textrm{$\, \leq^\ast \,$}\xspace}
|
||||||
|
\newcommand{\lessdotQM}{\textrm{$\,\lessdot_?\,$}}
|
||||||
|
\newcommand{\olsubneq}{\textrm{$\, \lneq^\ast \,$}\xspace}
|
||||||
|
\newcommand{\olsubprime}{\textrm{$\, \ol{\sqsubseteq}' \,$}\xspace}
|
||||||
|
\newcommand{\nolsub}{\textrm{$\, \not\sqsubseteq^* \,$}\xspace}
|
||||||
|
\newcommand{\hverband}{\partord{S}{\sqsubseteq}\xspace}
|
||||||
|
\newcommand{\qverband}{\partord{\exp{\ol{T}_{\Theta}}{V}}{\olsub}}
|
||||||
|
\newcommand{\cloqverband}{\partord{\exp{T_{\Theta}}{V}}{\olsub}}
|
||||||
|
\newcommand{\hord}{\mbox{$(S,~\sqsubseteq)$}\xspace}
|
||||||
|
\def\einschr#1{|_{#1}}
|
||||||
|
\def\uppereinschr#1{|^{#1}}
|
||||||
|
\def\lowereinschr#1{_{#1}\!|}
|
||||||
|
%\newcommand{\lsem}{[\hspace*{-0.3ex}[}
|
||||||
|
%\newcommand{\rsem}{]\hspace*{-0.3ex}]}
|
||||||
|
\newcommand{\lsem}{\llbracket\hspace{.5ex}}
|
||||||
|
\newcommand{\rsem}{\hspace{.5ex}\rrbracket}
|
||||||
|
\newcommand{\lsemm}{\lsem}
|
||||||
|
\newcommand{\rsemm}{\rsem}
|
||||||
|
\newcommand{\semantic}[1]{\lsem #1 \rsem\xspace}
|
||||||
|
\newcommand{\ol}[1]{\overline{#1}}
|
||||||
|
\newcommand{\ul}[1]{\underline{#1}}
|
||||||
|
\newcommand{\dps}{\displaystyle}
|
||||||
|
\newcommand{\sema}[3]{{\cal #1}_{#2}\semantic{#3}}
|
||||||
|
\newcommand{\sem}[2]{\sema{#1}{}{#2}\xspace}
|
||||||
|
|
||||||
|
% TI for FGJ wildcards
|
||||||
|
\newcommand\rulename[1]{\textup{\textsc{(#1)}}}
|
||||||
|
\newcommand{\generalizeRule}{General}
|
||||||
|
\newcommand{\generics}[1]{\ensuremath{\mathtt{\texttt{<} {#1} \texttt{>} }}}
|
||||||
|
\newcommand{\expr}[1]{\texttt{#1}}
|
||||||
|
\newcommand{\lessdotCC}{\ensuremath{\lessdot^{\texttt{c}}}}
|
||||||
|
|
||||||
|
\newcommand{\wtv}[1]{\ensuremath{\tv{#1}_?}}
|
||||||
|
\newcommand{\ntv}[1]{\ensuremath{\underline{\tv{#1}}}}
|
||||||
|
|
||||||
|
\newcommand{\rwildcard}[1]{\ensuremath{\mathtt{#1}}}
|
||||||
|
\newcommand{\wildcardEnv}{\ensuremath{\mathbb{W}}}
|
||||||
|
\newcommand{\wildcard}[3]{\ensuremath{\mathtt{#1 : [#3 .. #2]}}}
|
||||||
|
\newcommand{\wcNtype}[2]{\exists #1 .\ntype{#2}}
|
||||||
|
\newcommand{\wctype}[3]{\exists #1 .\exptype{#2}{#3}}
|
||||||
|
\newcommand{\wtype}[1]{\mathit{#1}}
|
||||||
|
\newcommand{\ntype}[1]{\mathtt{#1}}
|
||||||
|
|
||||||
|
\newcommand{\highlight}[1]{\begingroup\fboxsep=0pt\colorbox{yellow}{$\displaystyle #1$}\endgroup}
|
||||||
|
|
||||||
|
%
|
||||||
|
% Programming languages
|
||||||
|
%
|
||||||
|
|
||||||
|
\newcommand{\haskell}{\textsf{Haskell}\xspace}
|
||||||
|
\newcommand{\gofer}{\textsf{Gofer}\xspace}
|
||||||
|
\newcommand{\objp}{\mbox{\textsf{OBJ--P}}\xspace}
|
||||||
|
%\newcommand{\java}{\mbox{\textsf{G--JAVA}}\xspace}
|
||||||
|
\newcommand{\javafive}{\mbox{\textsf{Java 5}}\xspace}
|
||||||
|
\newcommand{\java}{\mbox{\textsf{Java}}\xspace}
|
||||||
|
\newcommand{\javaseven}{\mbox{\textsf{Java 7}}\xspace}
|
||||||
|
\newcommand{\javaeight}{\mbox{\textsf{Java 8}}\xspace}
|
||||||
|
\newcommand{\javaten}{\mbox{\textsf{Java 10}}\xspace}
|
||||||
|
\newcommand{\javatx}{\mbox{\textsf{Java-TX}}\xspace}
|
||||||
|
\newcommand{\javafx}{\mbox{\textsf{JavaFX}}\xspace}
|
||||||
|
\newcommand{\javalam}{\mbox{\textsf{Java}$_\lambda$}\xspace}
|
||||||
|
\newcommand{\javabyte}{\mbox{\textsf{Java Byte Code}}\xspace}
|
||||||
|
\newcommand{\jvm}{\mbox{\textsf{JVM}}\xspace}
|
||||||
|
%\newcommand{\oldjava}{\mbox{\textsf{JAVA}}\xspace}
|
||||||
|
\newcommand{\oldjava}{\mbox{\textsf{Java}}\xspace}
|
||||||
|
\newcommand{\pizza}{\mbox{\textsf{PIZZA}}\xspace}
|
||||||
|
\newcommand{\gj}{\mbox{\textsf{GJ}}\xspace}
|
||||||
|
\newcommand{\sml}{\mbox{\textsf{SML}}\xspace}
|
||||||
|
\newcommand{\ocaml}{\textsf{OCAML}}
|
||||||
|
\newcommand{\obj}{\mbox{\textsf{OBJ--3}}\xspace}
|
||||||
|
\newcommand{\objtwo}{\mbox{\textsf{OBJ--2}}\xspace}
|
||||||
|
\newcommand{\scala}{\mbox{\textsf{Scala}}\xspace}
|
||||||
|
|
||||||
|
\def\pot#1{{\cal P}(\, #1 \,)\xspace}
|
||||||
|
\def\partf{\overset{\text{\tiny part}}{\longrightarrow}\xspace}
|
||||||
|
%
|
||||||
|
% Deduktionssystem
|
||||||
|
%
|
||||||
|
\newcommand{\byrule}[1]{\raisebox{1.5ex}[0ex][0ex]{{{\rm [{\bf \small #1}]}}}}
|
||||||
|
\newcommand{\byruleok}[1]{\raisebox{1.5ex}[0ex][0ex]{{{\rm \small #1}}}}
|
||||||
|
\newcommand{\byrulewb}[1]{\raisebox{2.5ex}[0ex][0ex]{{{\rm [{\bf \small #1}]}}}}
|
||||||
|
\newcommand{\byruleokwb}[1]{\raisebox{2.5ex}[0ex][0ex]{{{\rm \small #1}}}}
|
||||||
|
\newcommand{\byrulesli}[1]{\raisebox{3.0ex}[0ex][0ex]{{{\rm [{\bf \small #1}]}}}}
|
||||||
|
\newcommand{\inter}[1]{\bigwedge \hspace{-.55em} \bigwedge_{#1}}
|
||||||
|
|
||||||
|
%
|
||||||
|
% ARRAY WITH ARGUMENTS
|
||||||
|
%
|
||||||
|
\newcommand{\sarray}[2]{\begin{array}[t]{#1} #2 \end{array}}
|
||||||
|
\newcommand{\sarrayt}[2]{\begin{array}[t]{#1} #2 \end{array}}
|
||||||
|
\newcommand{\sarrayb}[2]{\begin{array}[b]{#1} #2 \end{array}}
|
||||||
|
\newcommand{\sarrayc}[2]{\begin{array}[c]{#1} #2 \end{array}}
|
||||||
|
\newcommand{\sarrayo}[2]{\begin{array}{#1} #2 \end{array}}
|
||||||
|
|
||||||
|
%
|
||||||
|
% INFERENCE RULES
|
||||||
|
%
|
||||||
|
\newcommand{\byrulenew}[1]{\raisebox{2.1ex}[0ex][0ex]{{{\rm [{\bf \small #1}]}}}}
|
||||||
|
\newcommand{\postcond}[1]{\raisebox{2.1ex}[0ex][0ex]{#1}}
|
||||||
|
\newcommand{\lef}[1]{\multicolumn{1}{@{}l}{#1}}
|
||||||
|
\newcommand{\ri}[1]{\multicolumn{1}{r@{}}{#1}}
|
||||||
|
\newcommand{\ce}[1]{\multicolumn{1}{c}{#1}}
|
||||||
|
\newcommand{\axiom}[2]{\textrm{[}\textbf{\small #1}\textrm{]} & \lef{#2}}
|
||||||
|
\newcommand{\irule}[4]{&\multicolumn{1}{@{}l@{}}{\bf [#1]}\\ & \sarray{c}{#2}\vspace{1ex}\\\cline{2-2}
|
||||||
|
\vspace{-2ex}\\ %\byrulenew{#1}
|
||||||
|
& \sarray{c}{#3} & \postcond{$#4$}
|
||||||
|
}
|
||||||
|
\newenvironment{irules}{$\begin{array}{@{}l@{}c@{}l@{}}}{\end{array}$}
|
||||||
|
|
||||||
|
%
|
||||||
|
% Kategorien
|
||||||
|
%
|
||||||
|
\newcommand{\funs}[1]{\mbox{$F^S_{ERR}$(\, #1 \,)}\xspace}
|
||||||
|
\newcommand{\funa}[1]{\mbox{$F^A_{ERR}$(\, #1 \,)}\xspace}
|
||||||
|
\newcommand{\funh}[1]{\mbox{$F^H_{ERR}(\, #1 \,)$}\xspace}
|
||||||
|
|
||||||
|
%
|
||||||
|
% Typherleitungen
|
||||||
|
%
|
||||||
|
%\let\oldrhd=\rhd
|
||||||
|
%\newcommand{\rder}{\hspace*{0.5ex} \rhd_{\textrm{\tiny $\Sig$}} \hspace{0.5ex}}
|
||||||
|
\newcommand{\rder}{\hspace*{0.5ex} \rhd \hspace{0.5ex}}
|
||||||
|
%\newcommand{\lder}{\hspace*{0.5ex} \lhd_{\textrm{\tiny $\Sig$}} \hspace*{0.5ex}}
|
||||||
|
\newcommand{\lder}{\hspace*{0.5ex} \lhd \hspace*{0.5ex}}
|
||||||
|
\newcommand{\rderStmt}{\hspace*{0.5ex} \rhd_{Stmt} \hspace*{0.5ex}}
|
||||||
|
\newcommand{\rderExpr}{\hspace*{0.5ex} \rhd_{Expr} \hspace*{0.5ex}}
|
||||||
|
\newcommand{\rderIdent}{\hspace*{0.5ex} \rhd_{Id} \hspace*{0.5ex}}
|
||||||
|
|
||||||
|
\let\oldblacktriangleright=\blacktriangleright
|
||||||
|
%\newcommand{\fder}{\hspace*{1ex} \textrm{$\blacktriangleright_{\textsl{\tiny \hspace{-1ex}\Sig}}$}}
|
||||||
|
\newcommand{\fder}{\hspace*{1ex} \textrm{$\blacktriangleright$}}
|
||||||
|
|
||||||
|
\newcommand{\newtheo}[3]{\newtheorem{#1}[defhalbordnung]{#2}
|
||||||
|
\begin{#1} {\rm #3} \label{#1} \end{#1}}
|
||||||
|
\newcommand{\der}[2]{\mbox{$#1 \rhd\ #2$}\xspace}
|
||||||
|
\newcommand{\derl}[2]{#1 \lhd_{\textrm{\tiny $\Sig$}} #2\xspace}
|
||||||
|
\newcommand{\derr}[2]{#1 \rhd_{\textrm{\tiny \hspace{-1ex}$\Sig$}} #2\xspace}
|
||||||
|
\newcommand{\derf}[3]{( \, #1, \, #2 \, ) \fder #3\xspace}
|
||||||
|
|
||||||
|
\newcommand{\deri}[1]{\der{A}{K}{#1}\xspace}
|
||||||
|
\newcommand{\derif}[1]{\derf{A}{K}{D}{#1}\xspace}
|
||||||
|
\newcommand{\arity}[3]{\textrm{$\alpha^{(#1,#2)}_{#3}$}\xspace}
|
||||||
|
\newcommand{\coarity}[2]{\textrm{$\beta^{(#1,#2)}$}\xspace}
|
||||||
|
\newcommand{\sodaprg}{\textrm{$(\,\textsl{csig},\ D\,)$\xspace}}
|
||||||
|
|
||||||
|
%
|
||||||
|
% Typen
|
||||||
|
%
|
||||||
|
%\newcommand{\typ}[3]{\textrm{$ #1 \times \ldots \times #2 \rightarrow #3$}\xspace}
|
||||||
|
\newcommand{\typ}[3]{\textrm{$( #1 \ldo #2) \rightarrow #3$}\xspace}
|
||||||
|
\newcommand{\syn}[1]{{\rm \texttt{\small #1}}}
|
||||||
|
\newcommand{\sigmatyp}{\typ{\sigma_1}{\sigma_n}{\sigma}\xspace}
|
||||||
|
\newcommand{\sigmadef}{\mbox{$\sigma_1 \times \ldots \times \sigma_n$}\xspace}
|
||||||
|
\newcommand{\tautyp}{\typ{\tau_1}{\tau_n}{\tau}\xspace}
|
||||||
|
\newcommand{\tautypsup}[1]{\typ{\tau^{#1}_1}{\tau^{#1}_n}{\tau^{#1}}\xspace}
|
||||||
|
\newcommand{\taudef}{\mbox{$\tau_1 \times \ldots \times \tau_n$}\xspace}
|
||||||
|
\newcommand{\thetatyp}{\typ{\theta_1}{\theta_n}{\theta_0}\xspace}
|
||||||
|
\newcommand{\typea}{\text{$\text{TYPE}_T(\,S,\ V\,)$}\xspace}
|
||||||
|
\newcommand{\ptype}{\expsf{Type}{\normaltset}\xspace}
|
||||||
|
\newcommand{\ptypea}{\text{$\text{TYPE}_T(\,\Theta,\ V\,)$}\xspace}
|
||||||
|
\newcommand{\types}{\text{$\text{TYPE}_s(\,S,\ \Gamma\,)$}\xspace}
|
||||||
|
\newcommand{\extends}[1]{{}_{?}#1}
|
||||||
|
\newcommand{\super}[1]{{}^{?}#1}
|
||||||
|
|
||||||
|
\newcommand{\epsbox}[2]{
|
||||||
|
%\begin{center}
|
||||||
|
\setlength{\fboxsep}{4mm}
|
||||||
|
\fbox{\epsfxsize=#1 \epsfbox{#2}}
|
||||||
|
%\end{center}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\epsxybox}[3]{
|
||||||
|
\begin{minipage}[t]{#1}
|
||||||
|
\setlength{\fboxsep}{4mm}
|
||||||
|
\fbox{\epsfysize=#2 \epsfbox{#3}}
|
||||||
|
\end{minipage}}
|
||||||
|
|
||||||
|
\newenvironment{program}{\begin{alltt}\small}
|
||||||
|
{\normalsize\end{alltt}\vspace*{-1em}}
|
||||||
|
\floatstyle{plain}
|
||||||
|
\newfloat{soda}{htp}{lop}
|
||||||
|
\floatname{soda}{SODA-Program}
|
||||||
|
|
||||||
|
%\sodaprog
|
||||||
|
% 1. width
|
||||||
|
% 2. figure
|
||||||
|
% 3. file
|
||||||
|
\newcommand{\sodaprog}[3]{
|
||||||
|
\begin{figure}%[#2]
|
||||||
|
%\begin{center}
|
||||||
|
\begin{Sbox}
|
||||||
|
\begin{minipage}{#1}
|
||||||
|
\small
|
||||||
|
\begin{alltt}
|
||||||
|
\verbatiminput{#3.soda}
|
||||||
|
\end{alltt}
|
||||||
|
\normalsize
|
||||||
|
\end{minipage}
|
||||||
|
\end{Sbox}
|
||||||
|
\setlength{\fboxsep}{2mm}
|
||||||
|
\fbox{\TheSbox}
|
||||||
|
%\end{center}
|
||||||
|
\caption{SODA module \texttt{#3}}
|
||||||
|
\label{fig:#3}
|
||||||
|
\end{figure}
|
||||||
|
}
|
||||||
|
|
||||||
|
%
|
||||||
|
% Theorem
|
||||||
|
%
|
||||||
|
\newcommand{\QED}{\rule{1.1ex}{1.1ex}}
|
||||||
|
%\newenvironment{proof}{\par \bigskip \noindent {\bf Proof:}
|
||||||
|
% }{\mbox{ } \hfill \QED \par \smallskip}
|
||||||
|
%\newenvironment{remark}{\par \bigskip \noindent {\bf Remark}
|
||||||
|
% }{\par \smallskip}
|
||||||
|
%\newtheorem{definition}{Definition}[chapter]
|
||||||
|
%\newtheorem{example}[definition]{Example}
|
||||||
|
%\newtheorem{theorem}[definition]{Theorem}
|
||||||
|
%\newtheorem{corollary}[definition]{Corollary}
|
||||||
|
%\newtheorem{lemma}[definition]{Lemma}
|
||||||
|
%\newtheorem{algorithm}[definition]{Algorithm}
|
||||||
|
%\newenvironment{abstract}{\small \begin{center} {\bf Abstract}\\[2ex]
|
||||||
|
%\begin{minipage}{0.85\textwidth}}{\end{minipage} \end{center}}
|
||||||
|
\newenvironment{Zusammenfassung}{\small \begin{center} {\bf Zusammenfassung}\\[2ex]
|
||||||
|
\begin{minipage}{0.85\textwidth}}{\end{minipage} \end{center}}
|
||||||
|
\newlength{\level}
|
||||||
|
\newlength{\wid}
|
||||||
|
|
||||||
|
|
||||||
|
%\newcommand{\thelb}{
|
||||||
|
\def\notunlhd{\mathrel{\unlhd\!\!\!\!\!\mid}}
|
||||||
|
\def\In#1#2{#1 \! \in \! #2}
|
||||||
|
\def\Leq#1#2#3{#1 \! \leqslant \! #2 \! \leqslant \! #3}
|
||||||
|
\def\Lequ#1#2#3{#1 \leqslant #2 \leqslant #3}
|
||||||
|
\newcommand{\ma}[1]{\text{``}#1\text{''}\xspace}
|
||||||
|
\newcommand{\ttm}[1]{\mbox{\tt #1}\xspace}
|
||||||
|
\newcommand{\ret}[2]{\ttm{r}^{\ttm{\footnotesize #1}}_{\ttm{\footnotesize #2}}\xspace}
|
||||||
|
\newcommand{\retm}[2]{\ttm{r}^{#1}_{#2}\xspace}
|
||||||
|
\newcommand{\re}[2]{\displaystyle r^{#1}_{#2}\xspace}
|
||||||
|
\newlength{\qwert}
|
||||||
|
%\newcommand{\htext}[1]{\settowidth{\qwert}{#1} \addtolength{\qwert}{-0.65ex} \hspace*{\qwert}}
|
||||||
|
\newcommand{\htext}[1]{\settowidth{\qwert}{#1} \hspace*{\qwert}}
|
||||||
|
\newcommand{\leng}[1]{\settowidth{\qwert}{#1} \qwert}
|
||||||
|
\newcommand{\ldo}{, \ldots , }
|
||||||
|
\newcommand{\tvar}[1]{\textit{$\mathtt{#1}$}\xspace}
|
||||||
|
|
||||||
|
%
|
||||||
|
% Algorithmus
|
||||||
|
%
|
||||||
|
\newcommand{\nll}{\newline\hspace*{\level}}
|
||||||
|
\newcommand{\nlevel}{\addtolength{\level}{0.4cm}}
|
||||||
|
\newcommand{\llevel}{\addtolength{\level}{-0.4cm}}
|
||||||
|
\newcommand{\ifc}[1]{\textbf{if} \nlevel #1 \llevel}
|
||||||
|
\newcommand{\elsifc}[1]{\textbf{elsif} \nlevel #1 \llevel}
|
||||||
|
\newcommand{\foreachc}[2]{\textbf{foreach} #1 \nlevel #2 \llevel}
|
||||||
|
\newcommand{\thenc}[1]{\textbf{then} \nlevel #1 \llevel}
|
||||||
|
\newcommand{\ifthenc}[2]{\textbf{if} #1 \textbf{then} \nlevel #2 \llevel}
|
||||||
|
\newcommand{\elsec}[1]{\textbf{else} \nlevel #1 \llevel}
|
||||||
|
\newcommand{\eifc}{\textbf{endif}\\}
|
||||||
|
\newcommand{\casec}[2]{\fbox{\textbf{case} #1}\ \nlevel \nlevel #2 \llevel \llevel}
|
||||||
|
\newcommand{\letc}[2]{\textbf{let} \nlevel \\ #1 = \nlevel #2 \llevel \llevel}
|
||||||
|
\newcommand{\letbf}[1]{\textbf{let} \nlevel \\ #1 \llevel}
|
||||||
|
\newcommand{\inc}[1]{\textbf{in} \nlevel #1 \llevel \nopagebreak\\ \textbf{end}}
|
||||||
|
\newcommand{\lam}[2]{\textbf{fn } #1 \textrm{$\, \Rightarrow \,$} #2}
|
||||||
|
\newcommand{\inputc}[1]{\nll \textbf{Input:} \nlevel #1 \llevel}
|
||||||
|
\newcommand{\outputc}[1]{\nll \textbf{Output:} \nlevel #1 \llevel}
|
||||||
|
%\newcommand{\letforeachc}[3]{\textbf{let-foreach} \nlevel #1:\\ \ul{#2} = \nlevel #3 \llevel \llevel}
|
||||||
|
\newcommand{\letforeachc}[3]{\textbf{let-foreach} \nlevel #1:\\ #2 = \nlevel #3 \llevel \llevel}
|
||||||
|
%\newcommand{\letuc}[2]{\textbf{let} \nlevel \\ \ul{#1} = \nlevel #2 \llevel \llevel}
|
||||||
|
\newcommand{\letuc}[2]{\textbf{let} \nlevel \\ #1 = \nlevel #2 \llevel \llevel}
|
||||||
|
%\newcommand{\letu}[2]{\nlevel\\ \ul{#1} = \nlevel #2 \llevel\llevel}
|
||||||
|
\newcommand{\letu}[2]{\nlevel\\ #1 = \nlevel #2 \llevel\llevel}
|
||||||
|
\newcommand{\letnc}[2]{\nlevel\\ #1 = \nlevel #2 \llevel\llevel}
|
||||||
|
\newcommand{\misc}[1]{\nlevel\\ #1 \llevel}
|
||||||
|
\newcommand{\least}{\textrm{$\top$}\xspace}
|
||||||
|
\newenvironment{algocommands}{
|
||||||
|
\setlength{\level}{2mm}
|
||||||
|
\renewcommand{\\}{\nll}
|
||||||
|
\noindent
|
||||||
|
}{\renewcommand{\\}{\newline}
|
||||||
|
\vspace{1ex}
|
||||||
|
}
|
||||||
|
\newenvironment{algo}{\begin{algorithm} \rm %\mbox{}\\
|
||||||
|
\begin{algocommands}
|
||||||
|
}{\end{algocommands}
|
||||||
|
\end{algorithm}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newenvironment{boxedalgo}{
|
||||||
|
\begin{Sbox}
|
||||||
|
\begin{minipage}{\textwid}
|
||||||
|
\begin{algo}
|
||||||
|
}{\end{algo}
|
||||||
|
\end{minipage}
|
||||||
|
\end{Sbox}
|
||||||
|
\fbox{\TheSbox}
|
||||||
|
}
|
||||||
|
|
||||||
|
%\newcommand{\red}[1]{\textcolor{red}{#1}}
|
||||||
|
%\newcommand{\blue}[1]{\textcolor{blue}{#1}}
|
||||||
|
%\newcommand{\green}[1]{\textcolor{green}{#1}}
|
||||||
|
%\newcommand{\bluered}[1]{\textcolor{bluered}{#1}}
|
||||||
|
%\newcommand{\bluegreen}[1]{\textcolor{bluegreen}{#1}}
|
||||||
|
\newcommand{\tabularfield}[1]{
|
||||||
|
\begin{tabular}{@{}l@{}}
|
||||||
|
#1
|
||||||
|
\end{tabular}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newenvironment{Liste}{\begin{list}{\textbf{--}}{\setlength{\parsep}{0pt
|
||||||
|
plus0.0ex} \setlength{\itemsep}{0pt} \item[]}}{\end{list}}
|
||||||
|
|
||||||
|
\newenvironment{Listenullparsep}{\begin{list}{\textbf{--}}{
|
||||||
|
%\setlength{\topsep}{-5ex}
|
||||||
|
\setlength{\topsep}{0ex}
|
||||||
|
%\setlength{\parsep}{0pt plus1ex}
|
||||||
|
\setlength{\parsep}{0pt}
|
||||||
|
\setlength{\labelwidth}{2ex}
|
||||||
|
\setlength{\itemsep}{0pt}
|
||||||
|
\setlength{\leftmargin}{\labelsep +\labelwidth}
|
||||||
|
}}{\normalsize \end{list}}
|
||||||
|
|
||||||
|
|
||||||
|
%\landscapeonly
|
||||||
|
%\portraitonly
|
||||||
|
%\slidewidth9.7in
|
||||||
|
%\slideheight8.2in
|
||||||
|
%\slideframewidth0in
|
||||||
|
%\slideframesep0in
|
||||||
|
\newcounter{begriffnr}
|
||||||
|
\setcounter{begriffnr}{1}
|
||||||
|
\newcommand{\nextbegriff}[1]{\thebegriffnr. #1 \addtocounter{begriffnr}{1}}
|
||||||
|
|
||||||
|
\newcommand{\bflarge}[1]{\textbf{\large #1}}
|
||||||
|
\newcommand{\portraitslidey}[3]{
|
||||||
|
\begin{slide*}
|
||||||
|
\section*{#1}
|
||||||
|
\medskip
|
||||||
|
\begin{center}
|
||||||
|
\epsfysize#2
|
||||||
|
\epsfbox{#3}
|
||||||
|
\end{center}
|
||||||
|
\end{slide*}}
|
||||||
|
\newcommand{\portraitslidex}[3]{
|
||||||
|
\begin{slide*}
|
||||||
|
\section*{#1}
|
||||||
|
\medskip
|
||||||
|
\begin{center}
|
||||||
|
\epsfxsize#2
|
||||||
|
\epsfbox{#3}
|
||||||
|
\end{center}
|
||||||
|
\end{slide*}}
|
||||||
|
\newcommand{\landscapeslidex}[3]{
|
||||||
|
\landscapeslide{#1}{
|
||||||
|
\begin{center}
|
||||||
|
\epsfxsize#2
|
||||||
|
\epsfbox{#3}
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\newcommand{\landscapeslidexoffset}[3]{
|
||||||
|
\landscapeslide{#1}{
|
||||||
|
\vspace*{-0.5cm}
|
||||||
|
\begin{center}
|
||||||
|
\hspace*{-2cm}
|
||||||
|
\epsfxsize#2
|
||||||
|
\epsfbox{#3}
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\newcommand{\landscapeslidexlabel}[4]{
|
||||||
|
\begin{slide}
|
||||||
|
\section*{#1}
|
||||||
|
\medskip
|
||||||
|
\begin{center}
|
||||||
|
\epsfxsize#2
|
||||||
|
\epsfbox{#3}
|
||||||
|
\end{center}
|
||||||
|
#4
|
||||||
|
\end{slide}}
|
||||||
|
\newcommand{\landscapeslidexcomment}[4]{
|
||||||
|
\begin{slide}
|
||||||
|
\section*{#1}
|
||||||
|
\medskip
|
||||||
|
\begin{center}
|
||||||
|
\epsfxsize#2
|
||||||
|
\epsfbox{#3}
|
||||||
|
\end{center}
|
||||||
|
\comment{#4}
|
||||||
|
\end{slide}}
|
||||||
|
\newcommand{\landscapeslidexsubsub}[3]{
|
||||||
|
\begin{slide}
|
||||||
|
\subsubsection{#1}
|
||||||
|
\medskip
|
||||||
|
\begin{center}
|
||||||
|
\epsfxsize#2
|
||||||
|
\epsfbox{#3}
|
||||||
|
\end{center}
|
||||||
|
\end{slide}}
|
||||||
|
|
||||||
|
\newcommand{\landscapeslidextocsuboffset}[3]{
|
||||||
|
\landscapeslidetocsub{#1}{
|
||||||
|
\vspace*{-0.5cm}
|
||||||
|
\begin{center}
|
||||||
|
\hspace*{-2cm}
|
||||||
|
\epsfxsize#2
|
||||||
|
\epsfbox{#3}
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\newcommand{\landscapeslidexoTnormal}[2]{
|
||||||
|
\begin{frame}
|
||||||
|
\begin{center}
|
||||||
|
\begin{minipage}[t]{#1}
|
||||||
|
%\vspace*{-5truecm}
|
||||||
|
%\vspace*{-2truecm}
|
||||||
|
\epsfxsize#1
|
||||||
|
%\hspace*{-5truecm}
|
||||||
|
%\hspace*{-3truecm}
|
||||||
|
\epsfbox{#2}
|
||||||
|
\end{minipage}
|
||||||
|
\end{center}
|
||||||
|
\end{frame}}
|
||||||
|
\newcommand{\landscapeslidexoT}[2]{\landscapeslidexoTXY{0cm}{0cm}{#1}{#2}}
|
||||||
|
\newcommand{\landscapeslidexoTXY}[4]{
|
||||||
|
\begin{frame}
|
||||||
|
\begin{center}
|
||||||
|
\begin{minipage}[t]{\textwidth}
|
||||||
|
\hspace*{#1}
|
||||||
|
\vspace*{#2}
|
||||||
|
\epsfxsize#3
|
||||||
|
\epsfbox{#4}
|
||||||
|
\end{minipage}
|
||||||
|
\end{center}
|
||||||
|
\end{frame}}
|
||||||
|
\newcommand{\landscapeslidexoTcomment}[3]{
|
||||||
|
\begin{slide}
|
||||||
|
\begin{center}
|
||||||
|
\begin{minipage}[t]{\slidewidth}
|
||||||
|
%\vspace*{-5truecm}
|
||||||
|
\vspace*{-2truecm}
|
||||||
|
\epsfxsize#1
|
||||||
|
%\hspace*{-5truecm}
|
||||||
|
\hspace*{-3truecm}
|
||||||
|
\epsfbox{#2}
|
||||||
|
\end{minipage}
|
||||||
|
\end{center}
|
||||||
|
\comment{#3}
|
||||||
|
\end{slide}}
|
||||||
|
\newcommand{\landscapeslidexoTlabel}[3]{
|
||||||
|
\begin{slide}
|
||||||
|
\begin{center}
|
||||||
|
\begin{minipage}[t]{\slidewidth}
|
||||||
|
%\vspace*{-5truecm}
|
||||||
|
\vspace*{-2truecm}
|
||||||
|
\epsfxsize#1
|
||||||
|
%\hspace*{-5truecm}
|
||||||
|
\hspace*{-3truecm}
|
||||||
|
\epsfbox{#2}
|
||||||
|
\end{minipage}
|
||||||
|
\end{center}
|
||||||
|
#3
|
||||||
|
\end{slide}}
|
||||||
|
\newcommand{\landscapeslideyoT}[2]{
|
||||||
|
\begin{slide}
|
||||||
|
\begin{center}
|
||||||
|
\begin{minipage}[t]{\slidewidth}
|
||||||
|
%\vspace*{-5truecm}
|
||||||
|
\vspace*{-3truecm}
|
||||||
|
\epsfysize#1
|
||||||
|
\hspace*{3truecm}
|
||||||
|
\epsfbox{#2}
|
||||||
|
\end{minipage}
|
||||||
|
\end{center}
|
||||||
|
\end{slide}}
|
||||||
|
\newcommand{\landscapeslidey}[3]{
|
||||||
|
\begin{slide}
|
||||||
|
\section*{#1}
|
||||||
|
\medskip
|
||||||
|
\begin{center}
|
||||||
|
\epsfysize#2
|
||||||
|
\epsfbox{#3}
|
||||||
|
\end{center}
|
||||||
|
\end{slide}}
|
||||||
|
|
||||||
|
%\newcommand{\landscapeslide}[2]{
|
||||||
|
% \begin{slide}
|
||||||
|
% \section*{#1}
|
||||||
|
% \medskip
|
||||||
|
|
||||||
|
% #2
|
||||||
|
% \end{slide}}
|
||||||
|
|
||||||
|
\newcommand{\landscapeslide}[2]{
|
||||||
|
\frame{
|
||||||
|
\frametitle{#1}
|
||||||
|
#2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\landscapeslidetocsub}[2]{
|
||||||
|
\subsection{#1}
|
||||||
|
\landscapeslide{#1}{#2}
|
||||||
|
}
|
||||||
|
\newcommand{\landscapeslidetocsubsub}[2]{
|
||||||
|
\begin{slide}
|
||||||
|
\subsubsection{#1}
|
||||||
|
\medskip
|
||||||
|
|
||||||
|
#2
|
||||||
|
\end{slide}}
|
||||||
|
|
||||||
|
\newcommand{\landscapeslidetoc}[3]{
|
||||||
|
\section{#1}
|
||||||
|
\landscapeslide{#2}{#3}
|
||||||
|
}
|
||||||
|
\newcommand{\landscapeslidetoctitle}[2]{
|
||||||
|
\landscapeslidetoc{#1}{#1}{#2}
|
||||||
|
}
|
||||||
|
\newenvironment{landscapeslideenv}[1]{
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{#1}
|
||||||
|
}
|
||||||
|
{\end{frame}}
|
||||||
|
|
||||||
|
\def\landscapesl#1{
|
||||||
|
\begin{slide}
|
||||||
|
\section*{#1}
|
||||||
|
\medskip}
|
||||||
|
|
||||||
|
%1.Breite links
|
||||||
|
%2.Inhalt links
|
||||||
|
%3.Breite oben rechts
|
||||||
|
%4.Inhalt oben rechts
|
||||||
|
%5. Inhaly Folie
|
||||||
|
\newcommand{\landscapeslideObenBild}[5]{
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{#2}
|
||||||
|
\begin{minipage}[b]{#1}
|
||||||
|
#5
|
||||||
|
\end{minipage}
|
||||||
|
\hfill
|
||||||
|
\parbox[b][\textheight-1cm]{#3}{
|
||||||
|
%\begin{minipage}[b]{#3}
|
||||||
|
\setlength{\epsfxsize}{#3}
|
||||||
|
\epsfbox{#4}
|
||||||
|
%\end{minipage}
|
||||||
|
\vfill
|
||||||
|
}
|
||||||
|
%#5
|
||||||
|
\end{frame}}
|
||||||
|
|
||||||
|
\newcommand{\portraitslide}[2]{
|
||||||
|
\begin{slide*}
|
||||||
|
\section*{#1}
|
||||||
|
\medskip
|
||||||
|
#2
|
||||||
|
\end{slide*}}
|
||||||
|
|
||||||
|
\definecolor{black}{rgb}{0,0,0}
|
||||||
|
\definecolor{blue}{rgb}{0,0,1}
|
||||||
|
\definecolor{blueA}{rgb}{0.2,0,0.4}
|
||||||
|
\definecolor{blueB}{rgb}{0.2,0,0.6}
|
||||||
|
\definecolor{blueC}{rgb}{0.2,0,0.8}
|
||||||
|
\definecolor{blueD}{rgb}{0.2,0,1.0}
|
||||||
|
\definecolor{blueE}{rgb}{0,0,0.8}
|
||||||
|
\definecolor{red}{rgb}{1,0,0}
|
||||||
|
\definecolor{redA}{rgb}{0.6,0,0.2}
|
||||||
|
\definecolor{green}{rgb}{0,1,0.3}
|
||||||
|
\definecolor{greenA}{rgb}{0.2,0.6,0}
|
||||||
|
\definecolor{greenB}{rgb}{0.2,0.6,0.2}
|
||||||
|
\definecolor{greenC}{rgb}{0.2,0.6,0.4}
|
||||||
|
\definecolor{bluered}{rgb}{1,0,1}
|
||||||
|
\definecolor{blueredB}{rgb}{0.4,0,0.6}
|
||||||
|
\definecolor{blueredC}{rgb}{0.4,0,1}
|
||||||
|
\definecolor{blueredD}{rgb}{0.6,0,1}
|
||||||
|
\definecolor{bluegreen}{rgb}{0.8,0.5,0}
|
||||||
|
\definecolor{yellow}{rgb}{1,1,0}
|
||||||
|
\definecolor{yellowA}{rgb}{1,0.8,0}
|
||||||
|
\definecolor{yellowB}{rgb}{1,0.6,0}
|
||||||
|
\definecolor{yellowC}{rgb}{1,0.4,0}
|
||||||
|
\definecolor{gray}{rgb}{0.662,0.662,0.662}
|
||||||
|
\definecolor{grayA}{rgb}{0.9,0.9,0.9}
|
||||||
|
\newcommand{\black}[1]{\textcolor{black}{#1}}
|
||||||
|
\newcommand{\red}[1]{\textcolor{red}{#1}}
|
||||||
|
\newcommand{\DHBWred}[1]{\textcolor{DHBWrot}{#1}}
|
||||||
|
\newcommand{\redA}[1]{\textcolor{redA}{#1}}
|
||||||
|
\newcommand{\blue}[1]{\textcolor{blue}{#1}}
|
||||||
|
\newcommand{\blueA}[1]{\textcolor{blueA}{#1}}
|
||||||
|
\newcommand{\blueB}[1]{\textcolor{blueB}{#1}}
|
||||||
|
\newcommand{\blueC}[1]{\textcolor{blueC}{#1}}
|
||||||
|
\newcommand{\blueD}[1]{\textcolor{blueD}{#1}}
|
||||||
|
\newcommand{\blueE}[1]{\textcolor{blueE}{#1}}
|
||||||
|
\newcommand{\green}[1]{\textcolor{green}{#1}}
|
||||||
|
\newcommand{\bluered}[1]{\textcolor{bluered}{#1}}
|
||||||
|
\newcommand{\blueredB}[1]{\textcolor{blueredB}{#1}}
|
||||||
|
\newcommand{\blueredC}[1]{\textcolor{blueredC}{#1}}
|
||||||
|
\newcommand{\blueredD}[1]{\textcolor{blueredD}{#1}}
|
||||||
|
\newcommand{\bluegreen}[1]{\textcolor{bluegreen}{#1}}
|
||||||
|
\newcommand{\greenA}[1]{\textcolor{greenA}{#1}}
|
||||||
|
\newcommand{\greenB}[1]{\textcolor{greenB}{#1}}
|
||||||
|
\newcommand{\greenC}[1]{\textcolor{greenC}{#1}}
|
||||||
|
\newcommand{\yellow}[1]{\textcolor{yellow}{#1}}
|
||||||
|
\newcommand{\yellowA}[1]{\textcolor{yellowA}{#1}}
|
||||||
|
\newcommand{\yellowB}[1]{\textcolor{yellowB}{#1}}
|
||||||
|
\newcommand{\yellowC}[1]{\textcolor{yellowC}{#1}}
|
||||||
|
\newcommand{\gray}[1]{\textcolor{gray}{#1}}
|
||||||
|
\newcommand{\grayA}[1]{\textcolor{grayA}{#1}}
|
357
vortrag.tex
357
vortrag.tex
@ -1,14 +1,215 @@
|
|||||||
\documentclass{beamer}
|
\documentclass[%
|
||||||
\input{prolog}
|
pdftex,
|
||||||
%Information to be included in the title page:
|
t, % Folieninhalt am oberen Rand beginnen.
|
||||||
\title{Typinferenz für Java mit Wildcards}
|
10pt, % Schriftgroesse
|
||||||
\author{Andreas Stadelmeier}
|
]{beamer}
|
||||||
\institute{DHBW Stuttgart Campus Horb}
|
|
||||||
\date{2024}
|
% Einstellungen laden
|
||||||
|
\usetheme{DHBW}
|
||||||
|
\usepackage{xstring}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
%\usepackage[latin1]{inputenc}
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
%\usepackage{amsmath}
|
||||||
|
%\usepackage{amsfonts}
|
||||||
|
%\usepackage{amssymb}
|
||||||
|
\usepackage{alltt}
|
||||||
|
\usepackage{nameref}
|
||||||
|
|
||||||
|
\newcommand{\einstellung}[1]{%
|
||||||
|
\expandafter\newcommand\csname #1\endcsname{}
|
||||||
|
\expandafter\newcommand\csname setze#1\endcsname[1]{\expandafter\renewcommand\csname#1\endcsname{##1}}
|
||||||
|
}
|
||||||
|
\input{einstellungen_liste} % verfügbare Einstellungen
|
||||||
|
%\input{einstellungen} % lese Einstellungen
|
||||||
|
\setzetitel{Scala-like function types in Featherweight Java}
|
||||||
|
\setzeuntertitel{Bad Honnef 2022}
|
||||||
|
\setzedatum{2. Mai 2022}
|
||||||
|
\setzestudiengang{Stuidengang Informatik}
|
||||||
|
\setzedhbw{DHBW Stuttgart Campus Horb}
|
||||||
|
\setzeinternetadresse{www.dhbw-stuttgart.de/horb}
|
||||||
|
\setzeautor{Andreas Stadelmeier}%\\Andreas Stadelmeier}
|
||||||
|
\setzeschriftart{palatino} % oder goudysans, lmodern, libertine
|
||||||
|
%% Farben (Angabe in HTML-Notation mit großen Buchstaben)
|
||||||
|
\newcommand{\ladefarben}{%
|
||||||
|
\definecolor{LinkColor}{HTML}{00007A}
|
||||||
|
\definecolor{ListingBackground}{HTML}{FCF7DE}
|
||||||
|
}
|
||||||
|
%% Mathematikpakete benutzen (Pakete aktivieren)
|
||||||
|
%\usepackage{amsmath}
|
||||||
|
%\usepackage{amssymb}
|
||||||
|
|
||||||
|
%% Programmiersprachen Highlighting (Listings)
|
||||||
|
\newcommand{\listingsettings}{%
|
||||||
|
\lstset{%
|
||||||
|
language=Java, % Standardsprache des Quellcodes
|
||||||
|
%numbers=left, % Zeilennummern links
|
||||||
|
stepnumber=1, % Jede Zeile nummerieren.
|
||||||
|
numbersep=5pt, % 5pt Abstand zum Quellcode
|
||||||
|
numberstyle=\tiny, % Zeichengrösse 'tiny' für die Nummern.
|
||||||
|
breaklines=false, % Zeilen umbrechen wenn notwendig.
|
||||||
|
breakautoindent=true, % Nach dem Zeilenumbruch Zeile einrücken.
|
||||||
|
postbreak=\space, % Bei Leerzeichen umbrechen.
|
||||||
|
tabsize=2, % Tabulatorgrösse 2
|
||||||
|
basicstyle=\ttfamily\small, % Nichtproportionale Schrift, klein für den Quellcode
|
||||||
|
showspaces=false, % Leerzeichen nicht anzeigen.
|
||||||
|
showstringspaces=false, % Leerzeichen auch in Strings ('') nicht anzeigen.
|
||||||
|
extendedchars=true, % Alle Zeichen vom Latin1 Zeichensatz anzeigen.
|
||||||
|
%captionpos=b, % sets the caption-position to bottom
|
||||||
|
%backgroundcolor=\color{ListingBackground}, % Hintergrundfarbe des Quellcodes setzen.
|
||||||
|
xleftmargin=0pt, % Rand links
|
||||||
|
xrightmargin=0pt, % Rand rechts
|
||||||
|
%frame=single, % Rahmen an
|
||||||
|
%frameround=ffff,
|
||||||
|
rulecolor=\color{darkgray}, % Rahmenfarbe
|
||||||
|
fillcolor=\color{ListingBackground}
|
||||||
|
showtabs=false,
|
||||||
|
%breaklines=true,
|
||||||
|
%breakatwhitespace=true,
|
||||||
|
%basicstyle=\ttfamily\fontsize{8}{9.6}\selectfont, %\footnotesize
|
||||||
|
escapeinside={(*@}{@*)},
|
||||||
|
captionpos=t,float,abovecaptionskip=-\medskipamount
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
\usepackage{prolog_slide}
|
||||||
|
%\input{prolog}
|
||||||
|
|
||||||
|
\usepackage[english, ngerman]{babel}
|
||||||
|
{\selectlanguage{ngerman}} % Paket babel benutzt neue deutsche Rechtschreibung
|
||||||
|
%{\selectlanguage{english}} % Paket babel benutzt Englisch
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%% Package Includes %%%%%%%
|
||||||
|
|
||||||
|
\usepackage[overlay, absolute]{textpos}
|
||||||
|
\usepackage{longtable}
|
||||||
|
\usepackage{pgffor} % für automatische Kapiteldateieinbindung
|
||||||
|
\usepackage{listings}
|
||||||
|
\usepackage{calc}
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%% Configuration %%%%%
|
||||||
|
|
||||||
|
%% Anwenden der Einstellungen
|
||||||
|
|
||||||
|
\usepackage{\schriftart}
|
||||||
|
\ladefarben{}
|
||||||
|
|
||||||
|
% Titel, Autor und Datum
|
||||||
|
\title{\titel}
|
||||||
|
\subtitle{\untertitel}
|
||||||
|
\author{\autor}
|
||||||
|
\date{\datum}
|
||||||
|
|
||||||
|
% Literaturverweise (sowohl deutsch als auch englisch)
|
||||||
|
% \usepackage[
|
||||||
|
% %backend=biber, % empfohlen. Falls biber Probleme macht: bibtex
|
||||||
|
% %backend=bibtex, % empfohlen. Falls biber Probleme macht: bibtex
|
||||||
|
% bibwarn=true,
|
||||||
|
% bibencoding=utf8, % wenn .bib in utf8, sonst ascii
|
||||||
|
% sortlocale=de_DE, % oder en_US
|
||||||
|
% style=alphabetic %Zitierstil. Siehe http://ctan.mirrorcatalogs.com/macros/latex/contrib/biblatex/doc/biblatex.pdf
|
||||||
|
% ]{biblatex}
|
||||||
|
|
||||||
|
%%%%%% Additional settings %%%%%%
|
||||||
|
|
||||||
|
% Hurenkinder und Schusterjungen verhindern
|
||||||
|
% http://projekte.dante.de/DanteFAQ/Silbentrennung
|
||||||
|
\clubpenalty=10000
|
||||||
|
\widowpenalty=10000
|
||||||
|
\displaywidowpenalty=10000
|
||||||
|
|
||||||
|
% Bildpfad
|
||||||
|
\graphicspath{{images/}}
|
||||||
|
|
||||||
|
% Einige häufig verwendete Sprachen
|
||||||
|
\lstloadlanguages{PHP,Python,Java,C,C++,bash}
|
||||||
|
\listingsettings{}
|
||||||
|
%\includeonly{content/01kapitel}
|
||||||
|
%\includeonly{content/01kapitel,content/02kapitel}
|
||||||
|
%\includeonly{content/02kapitel}
|
||||||
|
%\includeonly{content/03kapitel}
|
||||||
|
%\includeonly{content/04kapitel}
|
||||||
|
%\includeonly{content/02kapitel,content/03kapitel}
|
||||||
|
%\includeonly{content/04kapitel,content/05kapitel}
|
||||||
|
%\includeonly{content/05kapitel}
|
||||||
|
%\includeonly{content/04kapitel,content/05kapitel,content/06kapitel}
|
||||||
|
%\includeonly{content/06kapitel}
|
||||||
|
%\includeonly{content/07kapitel}
|
||||||
|
%\includeonly{content/08kapitel}
|
||||||
|
%\includeonly{content/07kapitel, content/08kapitel}
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\newcommand\ddfrac[2]{\frac{\displaystyle #1}{\displaystyle #2}}
|
||||||
|
|
||||||
|
\newcommand{\tv}[1]{\mathit{ #1 }}
|
||||||
|
\newcommand{\tto}{\texttt{ -> }}
|
||||||
|
\newcommand{\funcType}{\ensuremath{\exptype{Function}{\type{T}, \type{R}}}}
|
||||||
|
%\newcommand{\fjtypeInsert}{\textbf{FJTypeInsert}}
|
||||||
|
\newcommand{\unifyGenerics}{\ensuremath{\gamma}}% {\ensuremath{\overline{\type{G}\triangleleft \type{H}}}}
|
||||||
|
\newcommand{\fjtype}{\textbf{FJType}}
|
||||||
|
\newcommand{\unify}{\textbf{Unify}}
|
||||||
|
\newcommand{\typeMethod}{\textbf{TYPEMethod}}
|
||||||
|
\newcommand{\typeExpr}{\textbf{TYPEExpr}}
|
||||||
|
\newcommand{\constraint}{\ensuremath{\mathit{c}}}%{\ensuremath{\mathtt{C}}}
|
||||||
|
\newcommand{\consSet}{C}%{\ensuremath{\overline{\mathtt{C}}}}
|
||||||
|
\newcommand{\orCons}{\textit{oc}}%{\ensuremath{\textbf{C}_{||}}}
|
||||||
|
\newcommand{\simpleCons}{\textit{sc}}
|
||||||
|
\newcommand{\overridesFunc}{\textit{overrides}}
|
||||||
|
\newcommand{\typeAssumptionsSymbol}{\ensuremath{\Theta}}
|
||||||
|
\newcommand{\typeAssumptions}{\ensuremath{(\mv{\Pi} ; \overline{\localVarAssumption})}}%{\ensuremath{(\overline{\methodAssumption} ; \overline{\fieldAssumption}; \overline{\localVarAssumption})}}
|
||||||
|
\newcommand{\constraints}{\ensuremath{\mathit{\overline{c}}}}
|
||||||
|
\newcommand{\itype}[1]{\ensuremath{\mathit{#1}}}
|
||||||
|
\newcommand{\il}[1]{\ensuremath{\overline{\itype{#1}}}}
|
||||||
|
\newcommand{\gType}[1]{\texttt{#1}}
|
||||||
|
\newcommand{\mtypeEnvironment}{\ensuremath{\Pi}}
|
||||||
|
\newcommand{\methodAssumption}{\ensuremath{\mathtt{\lambda}}}
|
||||||
|
\newcommand{\localVarAssumption}{\ensuremath{\mathtt{\eta}}}
|
||||||
|
\newcommand{\expandLB}{\textit{expandLB}}
|
||||||
|
\newcommand{\type}[1]{\texttt{#1}}
|
||||||
|
\newcommand{\environmentvdash}{\Pi;\Delta;\Gamma \vdash}
|
||||||
|
\newcommand\subeq{\mathbin{\texttt{<:}}}
|
||||||
|
\newcommand\mv[1]{{\tt #1}}
|
||||||
|
|
||||||
|
\def\exptypett#1#2{\texttt{#1}\textrm{{\tt <#2}}\textrm{{\tt >}}\xspace}
|
||||||
|
\def\exp#1#2{#1(\,#2\,)\xspace}
|
||||||
|
|
||||||
\begin{document}
|
\begin{document}
|
||||||
|
\bibliographystyle{unsrt}
|
||||||
|
% Titelfolie
|
||||||
|
\IfFileExists{content/00titelfolie}{%
|
||||||
|
\input{content/00titelfolie}
|
||||||
|
}
|
||||||
|
{%
|
||||||
|
%file does not exist
|
||||||
|
}
|
||||||
|
|
||||||
\frame{\titlepage}
|
% Inhalt
|
||||||
|
\IfFileExists{content/01inhalt}{%
|
||||||
|
\input{content/01inhalt}
|
||||||
|
}
|
||||||
|
{%
|
||||||
|
%file does not exist
|
||||||
|
}
|
||||||
|
|
||||||
|
% Kapitel
|
||||||
|
\foreach \i in {01,02,03,04,05,06,07,08,09,10,...,99} {%
|
||||||
|
\edef\FileName{content/\i kapitel}%
|
||||||
|
\IfFileExists{\FileName}{%
|
||||||
|
\include{\FileName}
|
||||||
|
}
|
||||||
|
{%
|
||||||
|
%file does not exist
|
||||||
|
}
|
||||||
|
}
|
||||||
|
%\small
|
||||||
|
%\renewcommand{\pause}{}
|
||||||
|
\bibliographystyle{alpha}
|
||||||
|
%\centerslidesfalse
|
||||||
|
\begin{frame}
|
||||||
|
\maketitle
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
\newcommand{\rulenameAfter}[1]{\begin{array}[b]{l}\rulename{#1}\\[-0.5em] \ \end{array}}
|
\newcommand{\rulenameAfter}[1]{\begin{array}[b]{l}\rulename{#1}\\[-0.5em] \ \end{array}}
|
||||||
|
|
||||||
@ -382,12 +583,89 @@ shuffle2D(l); // Fehler!
|
|||||||
%TODO Unify erklären
|
%TODO Unify erklären
|
||||||
% - es gibt die Capture Regel, welche Capture Conversion durchführt
|
% - es gibt die Capture Regel, welche Capture Conversion durchführt
|
||||||
% - die subst-Regel, welche keine Typen mit freien Variablen in normale Typvariablen einsetzt
|
% - die subst-Regel, welche keine Typen mit freien Variablen in normale Typvariablen einsetzt
|
||||||
\begin{frame}[fragile]{Unify}
|
\begin{frame}[fragile]{Reduce}
|
||||||
$\begin{array}{c}
|
\rulename{Reduce} $
|
||||||
\tv{a} \lessdot \tv{b},
|
\begin{array}[c]{@{}ll}
|
||||||
\tv{c} \lessdot \exptype{List}{\type{X}},
|
\begin{array}[c]{l}
|
||||||
|
\wildcardEnv \vdash
|
||||||
|
C \cup \, \set{ \exptype{C}{\ol{S}} \lessdot
|
||||||
|
\wctype{\overline{\rwildcard{A}}}{C}{\ol{T}} } \\
|
||||||
|
\hline
|
||||||
|
\vspace*{-0.4cm}\\
|
||||||
|
\wildcardEnv
|
||||||
|
\vdash C \cup \, \set{
|
||||||
|
\ol{\type{S}} \doteq [\ol{\wtv{a}}/\overline{\rwildcard{A}}]\ol{\type{T}} }
|
||||||
|
\end{array}
|
||||||
|
%\quad \ol{Y} = \textit{fresh}(\ol{X})
|
||||||
|
\quad \begin{array}[c]{l}
|
||||||
|
\ol{\wtv{a}} \ \text{fresh}\\
|
||||||
|
%\text{fv}(\exptype{C}{\ol{S}}) \subseteq \text{dom}(\overline{\wildcard{B}{\type{U'}}{\type{L'}}})
|
||||||
|
%\text{dom}(\overline{\wildcard{A}{\type{U}}{\type{L}}}) \subseteq \text{fv}(\exptype{C}{\ol{T}}) \\
|
||||||
|
%\text{fv}(\wctype{\overline{\wildcard{A}{\type{U}}{\type{L}}}}{C}{\ol{T}}) = \emptyset
|
||||||
|
\end{array}
|
||||||
|
\end{array}
|
||||||
|
$
|
||||||
|
\begin{itemize}
|
||||||
|
\item \textbf{Example:}
|
||||||
|
$\begin{array}[t]{c}
|
||||||
|
\exptype{List}{\type{String}} \lessdot \wctype{\rwildcard{A}}{List}{\type{A}}\\
|
||||||
|
\hline
|
||||||
|
\type{String} \doteq \wtv{a}
|
||||||
|
\end{array}$
|
||||||
|
\item \textbf{Example:}
|
||||||
|
$\begin{array}[t]{c}
|
||||||
|
\wctype{\rwildcard{A}}{List}{\type{A}} \lessdot \exptype{List}{\type{String}}\\
|
||||||
|
\hline
|
||||||
|
\type{A} \doteq \type{String}
|
||||||
|
\end{array}$
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
\end{array}$
|
\begin{frame}[fragile]{Wildcard Creation}
|
||||||
|
\begin{lstlisting}
|
||||||
|
(*@\only<2>{$\color{red}\tv{r}$ }@*)someList(){
|
||||||
|
if(Math.random > 0.5){
|
||||||
|
return new List<String>();
|
||||||
|
} else {
|
||||||
|
return new List<Integer>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\end{lstlisting}
|
||||||
|
\pause
|
||||||
|
$
|
||||||
|
\exptype{List}{String} \lessdot {\only<2>{\color{red}}\tv{r}},
|
||||||
|
\exptype{List}{Integer} \lessdot {\only<2>{\color{red}}\tv{r}}
|
||||||
|
$\\[1em]
|
||||||
|
\pause
|
||||||
|
\rulename{General} $
|
||||||
|
\begin{array}[c]{l}
|
||||||
|
\wildcardEnv \vdash C \cup \wctype{\Delta}{C}{\ol{T}} \lessdot \ntv{a}\\
|
||||||
|
\hline
|
||||||
|
\wildcardEnv \vdash C \cup \set{\wctype{\Delta}{C}{\ol{T}} \lessdot \ntv{a},
|
||||||
|
\ntv{a} \doteq \wctype{\overline{\rwildcard{X}}}{C}{\overline{\rwildcard{X}}}
|
||||||
|
}
|
||||||
|
\end{array} \quad \begin{array}[c]{l}
|
||||||
|
\texttt{class} \ \exptype{C}{\ol{X \triangleleft \type{S}}} \triangleleft \exptype{D}{\ol{N}} \\
|
||||||
|
\end{array}
|
||||||
|
$
|
||||||
|
\\[1em]
|
||||||
|
\pause
|
||||||
|
$
|
||||||
|
\exptype{List}{String} \lessdot {\tv{r}},
|
||||||
|
\exptype{List}{Integer} \lessdot {\tv{r}},
|
||||||
|
\highlight{\tv{r} \doteq \wctype{\rwildcard{X}}{List}{\rwildcard{X}}}
|
||||||
|
$
|
||||||
|
\pause
|
||||||
|
\\[0.5em]
|
||||||
|
\textbf{Substitution:}
|
||||||
|
|
||||||
|
$
|
||||||
|
\exptype{List}{String} \lessdot \highlight{\wctype{\rwildcard{X}}{List}{\rwildcard{X}}},
|
||||||
|
\exptype{List}{Integer} \lessdot \highlight{\wctype{\rwildcard{X}}{List}{\rwildcard{X}}},
|
||||||
|
$
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}[fragile]{Wildcard Elminiation}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
% wieso dürfen normale Typvariablen keine freien Variablen enthalten?
|
% wieso dürfen normale Typvariablen keine freien Variablen enthalten?
|
||||||
@ -404,6 +682,55 @@ $
|
|||||||
\exptype{List}{\tv{x}} \lessdot \tv{r}
|
\exptype{List}{\tv{x}} \lessdot \tv{r}
|
||||||
$
|
$
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
\begin{frame}[fragile]
|
||||||
|
\begin{verbatim}
|
||||||
|
List<List<?>> l;
|
||||||
|
l2 = l.map(x -> shuffle(x));
|
||||||
|
shuffle2D(l2);
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
$
|
||||||
|
\begin{array}{l}
|
||||||
|
\wctype{\rwildcard{A}}{List}{\rwildcard{A}} \lessdotCC \exptype{List}{\tv{x}}, \\
|
||||||
|
\exptype{List}{\exptype{List}{\tv{x}}} \lessdot \tv{l2}, \\
|
||||||
|
\tv{l2} \lessdotCC \exptype{List}{\exptype{List}{\tv{y}}}
|
||||||
|
\end{array}
|
||||||
|
$
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item Falsche Lösung:
|
||||||
|
$
|
||||||
|
\begin{array}{l}
|
||||||
|
\wctype{\rwildcard{A}}{List}{\rwildcard{A}} \lessdotCC \exptype{List}{\highlight{\rwildcard{A}}}, \\
|
||||||
|
\exptype{List}{\exptype{List}{\tv{x}}} \lessdot \exptype{List}{\exptype{List}{\tv{x}}},
|
||||||
|
\tv{r} \lessdot \tv{l2},
|
||||||
|
\tv{l2} \lessdotCC \exptype{List}{\exptype{List}{\tv{y}}}
|
||||||
|
\end{array}
|
||||||
|
$
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}[fragile]{Lösung durch Unify}
|
||||||
|
$
|
||||||
|
\begin{array}{l}
|
||||||
|
\wctype{\rwildcard{A}}{List}{\rwildcard{A}} \lessdotCC \exptype{List}{\tv{x}}, \\
|
||||||
|
\exptype{List}{\exptype{List}{\tv{x}}} \lessdot \tv{l2}, \\
|
||||||
|
\tv{l2} \lessdotCC \exptype{List}{\exptype{List}{\tv{y}}}
|
||||||
|
\end{array}
|
||||||
|
$
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item Falsche Lösung:
|
||||||
|
$
|
||||||
|
\begin{array}{l}
|
||||||
|
\wctype{\rwildcard{A}}{List}{\rwildcard{A}} \lessdotCC \exptype{List}{\highlight{\rwildcard{A}}}, \\
|
||||||
|
\exptype{List}{\exptype{List}{\tv{x}}} \lessdot \exptype{List}{\exptype{List}{\tv{x}}},
|
||||||
|
\tv{r} \lessdot \tv{l2},
|
||||||
|
\tv{l2} \lessdotCC \exptype{List}{\exptype{List}{\tv{y}}}
|
||||||
|
\end{array}
|
||||||
|
$
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}[fragile]
|
\begin{frame}[fragile]
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
@ -413,10 +740,12 @@ $
|
|||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
$
|
$
|
||||||
\wctype{\rwildcard{A}}{List}{\rwildcard{A}} \lessdotCC \exptype{List}{\tv{x}},
|
\begin{array}{l}
|
||||||
|
\wctype{\rwildcard{A}}{List}{\rwildcard{A}} \lessdotCC \exptype{List}{\tv{x}}, \\
|
||||||
\exptype{List}{\exptype{List}{\tv{x}}} \lessdot \tv{r},
|
\exptype{List}{\exptype{List}{\tv{x}}} \lessdot \tv{r},
|
||||||
\tv{r} \lessdot \tv{l2},
|
\tv{r} \lessdot \tv{l2},
|
||||||
\tv{l2} \lessdotCC \exptype{List}{\exptype{List}{\tv{y}}}
|
\tv{l2} \lessdotCC \exptype{List}{\exptype{List}{\tv{y}}}
|
||||||
|
\end{array}
|
||||||
$
|
$
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
53
xspace_spezial.sty
Executable file
53
xspace_spezial.sty
Executable file
@ -0,0 +1,53 @@
|
|||||||
|
%%
|
||||||
|
%% This is file `xspace.sty',
|
||||||
|
%% generated with the docstrip utility.
|
||||||
|
%%
|
||||||
|
%% The original source files were:
|
||||||
|
%%
|
||||||
|
%% xspace.dtx (with options: `package')
|
||||||
|
%%
|
||||||
|
%% This is a generated file.
|
||||||
|
%%
|
||||||
|
%% Copyright 1993 1994 1995 1996 1997 1998 1999
|
||||||
|
%% The LaTeX3 Project and any individual authors listed elsewhere
|
||||||
|
%% in this file.
|
||||||
|
%%
|
||||||
|
%% This file is part of the Standard LaTeX `Tools Bundle'.
|
||||||
|
%% -------------------------------------------------------
|
||||||
|
%%
|
||||||
|
%% This file, and all the other files in this bundle as listed below,
|
||||||
|
%% may be distributed under the terms of the LaTeX Project Public
|
||||||
|
%% License, as described in lppl.txt in the base LaTeX distribution.
|
||||||
|
%% Either version 1.0 or, at your option, any later version.
|
||||||
|
%%
|
||||||
|
%% File: xspace.dtx Copyright (C) 1991-1996 David Carlisle
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{xspace_spezial}
|
||||||
|
[1997/10/13 v1.06 Space after command names (DPC)]
|
||||||
|
\DeclareRobustCommand\xspace{\futurelet\@let@token\@xspace}
|
||||||
|
\def\@xspace{%
|
||||||
|
\ifx\@let@token\bgroup\else
|
||||||
|
\ifx\@let@token\egroup\else
|
||||||
|
\ifx\@let@token\/\else
|
||||||
|
\ifx\@let@token\ \else
|
||||||
|
\ifx\@let@token~\else
|
||||||
|
\ifx\@let@token.\else
|
||||||
|
\ifx\@let@token!\else
|
||||||
|
\ifx\@let@token,\else
|
||||||
|
\ifx\@let@token:\else
|
||||||
|
\ifx\@let@token;\else
|
||||||
|
\ifx\@let@token?\else
|
||||||
|
\ifx\@let@token/\else
|
||||||
|
\ifx\@let@token'\else
|
||||||
|
\ifx\@let@token)\else
|
||||||
|
\ifx\@let@token>\else
|
||||||
|
\ifx\@let@token-\else
|
||||||
|
\ifx\@let@token\@xobeysp\else
|
||||||
|
\ifx\@let@token\space\else
|
||||||
|
\ifx\@let@token\@sptoken\else
|
||||||
|
\space
|
||||||
|
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
|
||||||
|
|
||||||
|
\endinput
|
||||||
|
%%
|
||||||
|
%% End of file `xspace.sty'.
|
Loading…
Reference in New Issue
Block a user