\documentclass[ngerman,12]{dtk}
\begin{filecontents*}{\jobname}
@Book{PostScript,
  Author         = {Kollock, Nikolai G.},
  Title          = {PostScript richtig eingesetzt: vom Konzept zum
                   praktischen Einsatz},
  Publisher      = {IWT},
  Address        = {Vaterstetten},
  year           = 1989,
}

@Manual{pstricks,
  Title          = {PSTricks - {\PS} macros for Generic TeX},
  Author         = {Timothy Van Zandt},
  Organization   = {},
  Address        = {},
  Note           = {\url{http://www.tug.org/application/PSTricks}},
  year           = 1993,
}
\end{filecontents*}
\NeedPackage{pst-plot}
\NeedPackage{url}
\NeedPackage{longtable}
%\makeatletter
%\newcommand{\La}%
%   {L\kern-.36em
%        {\setbox0\hbox{T}%
%         \vbox to\ht0{\hbox{$\m@th$%
%                            \csname S@\f@size\endcsname
%                            \fontsize\sf@size\z@
%                            \math@fontsfalse\selectfont
%                            A}%
%                      \vss}%
%        }}
%\newcommand\AllTeX{(\La\kern-.075em)\kern-.075em\TeX}
%\makeatother

\title{Die mathematischen Funktionen von Postscript}
\author{Herbert Voß}
\address{Herbert}{Voß}{Wasgenstr. 21\\14129 Berlin\\voss@perce.de}
\maketitle
\begin{abstract}
  \PS, faktisch genauso alt wie \TeX, ist im Verhältnis dazu allgemein
  noch weniger bekannt, wenn es darum geht zu beurteilen, was es denn
  nun im eigentlichen Sinne ist. Außerdem wird häufig vergessen, dass
  sich mit den \PS-Funktionen viele Dinge erledigen lassen, bei denen
  sonst auf externe Programme zurückgegriffen wird. Dies wird im
  Folgenden für die mathematischen Funktionen im Zusammenhang mit dem
  Paket \texttt{pst-plot} gezeigt.
\end{abstract}

\section{Einführung}

\PS, sehr häufig nur als Druckertreiber bekannt oder im Zusammenhang
damit als Seitenbeschreibungssprache, ist ähnlich wie \TeX{} eine
Programmiersprache, wobei \PS\ eindeutig als sogenannte Hochsprache
bezeichnet werden muss.\cite{PostScript} Während die Ursprünge der
Entwicklung bis in die Anfänge der siebziger Jahre zurückgehen, datiert
die erste veröffentlichte \PS-Version von 1982, was nicht zufällig
das Jahr der Gründung von \emph{Adobe System Incorporated} ist. Der
erste Laserdrucker mit vollständiger \PS-Implementierung war der
\emph{Apple Laserwriter}. Der einzige Computer, der \PS\ auch für
die Bildschirmausgabe (Display \PS) verwendet, ist \emph{Next}. 


\section{\PS-Befehle}

\PS~arbeitet mit dem so genannten Stack-System, welches den Benutzern
von HP-Taschenrechnern geläufig und auch unter dem Namen \emph{UPN},
\emph{Umgekehrte Polnische Notation} (Reverse Polish Notation), bekannt
ist und letztlich den internen Standard für alle Computer darstellt.
Die normale Notation für die Multiplikation "`$a*b=$"' wird zu
"`$a$<enter>$b$<enter>*"'. Es sind immer zuerst die Parameter
(Variablen) auf dem Stack abzulegen (durch <enter> symbolisiert),
bevor eine der mathematischen Funktionen aufgerufen wird. Die hier
beschriebenen Befehle beziehen sich immer auf das oberste Stack-Element
oder die obersten beiden Stack-Elemente.

Die direkte Anwendung der \PS-Befehle für die Darstellung
mathematischer Zusammenhänge bringt gegenüber Programmen wie
beispielsweise \texttt{gnuplot} nicht immer Vorteile in der
endgültigen Druckausgabe. Auch lässt sich nicht unbedingt jedes
mathematische Problem mit den \PS-Befehlen einfach lösen. Vorteile
ergeben sich durch die Übersichtlichkeit und vor allen Dingen in der
Länge der Textdateien.


\section{Anwendung mit pst-plot}

Das umfangreiche Paket \texttt{pstricks} (\url{CTAN:/graphics/pstricks/})
ist nichts weiter als ein Frontend für \LaTeXTeX\ zu den \PS-Funktionen.
Das Paket \texttt{pst-plot} (\url{CTAN:/graphics/pstricks/latex/pst-plot.sty}),
welches Teil des Pakets \texttt{pstricks} ist, ermöglicht mit zwei
Befehlen die Anwendung der \PS-Funktionen für das Zeichnen von mathematischen
Funktionen. Mit der Anweisung \texttt{\textbackslash{}usepackage\{pst-plot\}}
wird automatisch das übergeordnete Paket \texttt{pstricks} geladen.

Die grundsätzliche Struktur der hier behandelten Befehle ist:

\begin{verbatim}
\psplot[Parameter]{xmin}{xmax}{Funktion f(x)}
\parametricplot[Parameter]{tmin}{tmax}{Funktionen x(t), y(t)}
\end{verbatim}

Hierin bedeuten $\left[x_{min};\ x_{max}\right]$ und $\left[t_{min};\ 
  t_{max}\right]$ das jeweilige Definitionsintervall (Start- und
Endwert). Die möglichen Parameter können der Dokumentation zu
\texttt{pstricks} entnommen werden, die zwar schon älteren Datums ist,
jedoch völlig ausreicht \cite{pstricks}. Hier ist im
Zusammenhang mit den Funktionen lediglich der Parameter
\texttt{plotpoints} interessant, welcher die Anzahl der Stützstellen
angibt und standardmäßig auf 50 gesetzt ist. Sämtliche berechneten
Punkte werden intern mit \texttt{\textbackslash{}psline} verbunden, so
dass sich eine zu geringe Anzahl an Stützstellen durch einen
Polygonzug bemerkbar macht. Mit Werten um $200$ liegt man in den
meisten Fällen auf der richtigen Seite. In diesem Zusammenhang ist
unbedingt zu beachten, dass geänderte Parameter so lange ihren Wert
behalten, bis innerhalb eines \LaTeX{}-Laufs eine neue Wertzuweisung
erfolgt.

Der Variablenname für \texttt{psplot} ist per Definition $x$ und
für \texttt{parametricplot} $t$. Beide können nicht verändert werden,
was jedoch bezüglich der Anwendung keinerlei Einschränkung darstellt.
Die Variablen können beliebig oft innerhalb eines Ausdrucks verwendet
werden, denn erst mit der schließenden Klammer für den Funktionsausdruck
wird davon ausgegangen, dass die zweite Koordinate für einen Punkt
des Graphen oben auf dem Stack liegt. Der einzige Unterschied zwischen
diesen beiden Befehlen ist, dass bei \texttt{psplot} nur der oberste
Stack-Wert ($y$) und bei \texttt{parametricplot} die obersten beiden
Stack-Werte ($x;y$) als Argumente verwendet werden.

Zu beachten ist unbedingt, dass mit den beiden Befehlen keine
Fehlermeldungen ausgegeben werden, was insbesondere für diejenigen
mathematischen Funktionen von Interesse ist, deren Definitionsbereich
nicht ganz $\Re $ entspricht. Denn bei \emph{einem} fehlerhaften
Argument, beispielsweise $\sqrt{-1}$, wird der komplette Graph nicht
gezeichnet!

Der Vollständigkeit halber sei erwähnt, dass \texttt{pst-plot} noch
weitere drei Befehle zum Zeichnen von Funktionsgraphen zur Verfügung
stellt, die jedoch alle externe Datensätze voraussetzen:

\begin{quote}
\verb|\fileplot[|\var{Parameter}\verb|]{|\var{Dateiname}\verb|}|\\
\verb|\dataplot[|\var{Parameter}\verb|]{|\var{Befehle}\verb|}|\\
\verb|\listplot[|\var{Parameter}\verb|]{|\var{Liste}\verb|}|
\end{quote}

Weitere Informationen kann man der Dokumentation zu \texttt{pstricks}
entneh\-men \cite{pstricks}.


\section{Beispiele für \texttt{\textbackslash{}psplot}}

Für alle Beispiele wird jeweils die komplette
\texttt{pspicture}-Umgebung angegeben, sodass eine direkte Übernahme
der Beispiele möglich ist. Eine Dokumentation des
\texttt{multido}-Befehls findet man unter \url{CTAN:
  /macros/latex209/contrib/multido/multido.doc}, alle anderen in der
Dokumenation zu \texttt{pstricks} \cite{pstricks}.

\subsection{Sinusfunktion}

\begin{tabular}{ll}\toprule
Funktion     &\PS    \\\midrule
$y(x)=\sin x$&\tt x sin  \\\bottomrule
\end{tabular}

\begin{minipage}[c]{5.25cm}%
\psset{xunit=0.0111cm,yunit=1cm}%
\begin{pspicture}(-20,-1.25)(400,1.25)%
\psline[linewidth=1pt]{->}(-20,0)(400,0)%
\psline[linewidth=1pt]{->}(0,-1.25)(0,1.25)%
\multido{\n=+90}{5}{\psline[linestyle=dotted]%
   (\n,-1.25)(\n,1.25)\rput(\n,-0.25){\scriptsize{\n}}}
\multido{\n=-1+1}{3}{\psline[linestyle=dotted]%
   (0,\n)(405,\n)\rput[r](-4,\n){\scriptsize{\n}}}
\psplot[plotstyle=curve,linewidth=1.5pt]{-20}{400}{x sin}% postscriptfunction
\rput[l](-5,1.75){$\mathbf{y}$}%
\rput[l](390,-.25){$\mathbf{x}$}%
\rput[l](180,0.75){$y=\sin x$}%
%rput[l](1.57,-0.25){$\frac{\pi}{2}$}%
\end{pspicture}
\end{minipage}%
\hfill
\begin{minipage}[c]{0.50\columnwidth}%
\scriptsize
\begin{verbatim}
\psset{xunit=0.0111cm,yunit=1cm}
\begin{pspicture}(-20,-1.25)(400,1.25)
\psline[linewidth=1pt]{->}(-20,0)(400,0)
\psline[linewidth=1pt]{->}(0,-1.25)(0,1.25)
\multido{\n=+90}{5}{\psline[linestyle=dotted]%
  (\n,-1.25)(\n,1.25)\rput(\n,-0.25)%
  {\scriptsize \n}}
\multido{\n=-1+1}{3}{\psline[linestyle=dotted]%
  (0,\n)(405,\n)\rput[r](-4,\n){\scriptsize \n}}
\psplot[plotstyle=curve,linewidth=1.5pt]%
  {-20}{400}{x sin}% postscript function
\rput[l](-5,1.75){$\mathbf{y}$}
\rput[l](390,-.25){$\mathbf{x}$}
\rput[l](180,0.75){$y=\sin x$}
\end{pspicture}
\end{verbatim}
\end{minipage}%

\subsection{Potenzfunktion}

Dargestellt wird eine Parabel dritten Grades sowie ihre
Umkehrfunktion, wobei die Intervallunterscheidung nicht zwingend ist,
wenn man die Exponentialschreibweise mit $y=x^{-\frac{1}{3}}$ wählt.

\begin{tabular}{p{4.5cm}p{3cm}}\toprule
Funktion&\PS\\\midrule
$y(x)=x^{3}$

$y^{-1}(x)=\left\{ \begin{array}{cc}
 +\sqrt[3]{\left|x\right|} & x>0\\
 -\sqrt[3]{\left|x\right|} & x<0\\ \end{array}
\right.$&
\parbox[t]{3cm}{\tt x 3 exp \\
x 0.333 exp 

\rm (Umkehrfunktion)}\\\bottomrule
\end{tabular}

\begin{minipage}[c]{5.5cm}%
\begin{pspicture}(-2.5,-2.5)(2.5,2.5)%
\psset{xunit=0.75cm,yunit=0.75cm}
\psgrid[subgriddiv=1,griddots=10,gridlabels=7pt](-3,-3)(3,3)
\psline[linewidth=1pt]{->}(-3,0)(3,0)
\psline[linewidth=1pt]{->}(0,-3)(0,3)
\psline[linewidth=0.5pt,linestyle=dotted](-3,-3)(3,3)
\psplot[plotstyle=curve,linewidth=1.5pt]{-1.45}{1.45}{x 3 exp}% postscript function
\psplot[plotstyle=curve,linewidth=1.5pt, linestyle=dashed]%
  {0}{3}{x 0.333 exp}% postscript function
\psplot[plotstyle=curve,linewidth=1.5pt, linestyle=dashed]%
  {-3}{0}{x -1 mul 0.333 exp -1 mul}% postscript function
\rput[l](-.25,3.25){$\mathbf{y}$}
\rput[l](3.25,-.25){$\mathbf{x}$}
\rput[l](1.5,2.5){$y=x^3$}
\rput[l](1.25,0.5){$y=+\sqrt[3]{|x|}$}
\rput[r](-1.25,-0.5){$y=-\sqrt[3]{|x|}$}
\end{pspicture}\end{minipage}%
\begin{minipage}[c]{0.50\columnwidth}%
\scriptsize\begin{verbatim}
\begin{pspicture}(-3,-3)(3,3)
\psgrid[subgriddiv=1,griddots=10,%
   gridlabels=7pt](-3,-3)(3,3)%
\psline[linewidth=1pt]{->}(-3,0)(3,0)%
\psline[linewidth=1pt]{->}(0,-3)(0,3)%
\psline[linewidth=0.5pt,linestyle=dotted]%
   (-3,-3)(3,3)%
\psplot[plotstyle=curve,linewidth=1.5pt]%
   {-1.4}{1.4}{x 3 exp}% postscript function
\psplot[plotstyle=curve,linewidth=1.5pt,%
   linestyle=dashed]{0}{3}{x 0.333 exp}
\psplot[plotstyle=curve,linewidth=1.5pt,%
   linestyle=dashed]{-3}{0}%
   {x -1 mul 0.333 exp -1 mul}
\rput[l](-.25,3.5){$\mathbf{y}$}%
\rput[l](3.5,-.25){$\mathbf{x}$}%
\rput[l](1.5,2.5){$y=x^3$}%
\rput[l](1.25,0.5){$y=+\sqrt[3]{|x|}$}%
\rput[r](-1.25,-0.5){$y=-\sqrt[3]{|x|}$}
\end{pspicture}
\end{verbatim}
\end{minipage}%


\subsection{Beispiel aus der Leistungselektronik}

Gezeigt wird die graphische Darstellung des relativen Strommittelwertes
für eine Stromrichtersteuerung durch ein Thyristorpaar. Hierbei entspricht
der Parameter $\varphi $ der Phasenverschiebung zwischen Strom und
Spannung. Die unabhängige Variable $\alpha $ bezeichnet den Steuerwinkel.

\begin{tabular}{ll}\toprule
Funktion&
$\displaystyle \frac{I(\alpha )}{I_{0}}=\left\{ \begin{array}{ll}
 \sqrt{1-\frac{\alpha }{\pi }+\frac{1}{2\pi }\sin 2\alpha } & \varphi =0\\
  & \\
 \sqrt{\left(2-\frac{2\alpha }{\pi }\right)\left(2+\cos 2\alpha 
\right)+\frac{3}{\pi }\sin 2\alpha } & \varphi =\frac{\pi }{2}\\ \end{array}
\right.$\smallskip{}
\\
\hline
\PS&
\begin{tabular}{p{7.5cm}l}
\tt 1 x 180 div sub 1 6.28 div x 2 mul sin mul add sqrt&
$\varphi =0$\\
%\hline
\tt 2 x 90 div sub x 2 mul cos 2 add mul x 2 mul sin 3 3.15 div mul add
sqrt&
$\varphi =\frac{\pi }{2}$\\
\end{tabular}\\\bottomrule
\end{tabular}

Zu beachten ist, dass \PS~die Argumente für die trigonometrischen
Funktionen im Gradmaß erwartet, sodass für relative Winkel auf gleiche
Einheiten zu achten ist. Der Ausdruck $\frac{\alpha }{\pi }$ ist
daher durch $\frac{\alpha }{180}$ zu ersetzen. 

\begin{minipage}[c]{6.5cm}%
\begin{center}\psset{xunit=0.0275cm,yunit=4cm}
\begin{pspicture}(0,-0.25)(190,1.25)
\psline[linewidth=1pt]{->}(0,0)(190,0)
\psline[linewidth=1pt]{->}(0,0)(0,1.15)
\multido{\n=30+30}{6}{\psline[linestyle=dotted](\n,0)(\n,1)\rput(\n,-0.05){\scriptsize{\n}}}
\multido{\n=0.2+0.2}{5}{\psline[linestyle=dotted](0,\n)(180,\n)\rput[r](-4,\n){\scriptsize{\n}}}
\psplot[plotstyle=curve,linewidth=1.5pt]{0}{180}%
{1 x 180 div sub 1 6.28 div x 2 mul sin mul add sqrt}% postscriptfunction
\psplot[plotstyle=curve,linewidth=1.5pt,linestyle=dashed]{90}{180}%
{2 x 90 div sub x 2 mul cos 2 add mul x 2 mul sin 3 3.15 div mul add sqrt}% postscriptfunction
\rput(0,1.2){$\mathbf{I/I_0}$}
\rput[l](190,-.05){$\mathbf{\alpha}$}
\rput(45,0.85){$\varphi=0$}
\rput(120,0.9){$\varphi=90°$}
\end{pspicture}\end{center}\end{minipage}%
\begin{minipage}[c]{0.50\columnwidth}%
\scriptsize
\begin{verbatim}
\psset{xunit=0.0333cm,yunit=3cm}
\begin{pspicture}(0,-0.25)(190,1.25)
\psline[linewidth=1pt]{->}(0,0)(190,0)
\psline[linewidth=1pt]{->}(0,0)(0,1.15)
\multido{\n=30+30}{6}{\psline[%
   linestyle=dotted](\n,0)(\n,1)%
   \rput(\n,-0.05){\scriptsize \n}}
\multido{\n=0.2+0.2}{5}{\psline[%
   linestyle=dotted](0,\n)(180,\n)%
   \rput[r](-4,\n){\scriptsize \n}}
\psplot[plotstyle=curve,%
   linewidth=1.5pt]{0}{180}%
   {1 x 180 div sub 1 6.28 %
    div x 2 mul sin mul add sqrt}
\psplot[plotstyle=curve,%
   linewidth=1.5pt,linestyle=dashed]%
   {90}{180}{2 x 90 div sub x 2 mul cos%
    2 add mul x 2 mul sin 3 3.15%
    div mul add sqrt}
\rput(0,1.2){$\mathbf{I/I_0}$}
\rput[l](190,-.05){$\mathbf{\alpha}$}
\rput(45,0.85){$\varphi=0$}
\rput(120,0.9){$\varphi=90°$}
\end{verbatim}
\end{minipage}%


\renewcommand{\arraystretch}{1.0}


\section{Beispiele für \texttt{\textbackslash{}parametricplot}}


\subsection{Lissajous-Figur}

Die aus der Physik oder Elektrotechnik bekannten Lissajous-Figuren sind
ein typischer Anwendungsfall für Gleichungen in Parameterform. Die
hier angegebene Darstellung beruht auf den Funktionen:

\begin{tabular}{cl}\toprule
Funktion&
\PS\\\midrule
$x=\sin 1.5t$&\tt
t 1.5 mul sin\\
%\hline 
$y=\sin \left(2t+\frac{\pi }{3}\right)$&\tt
t 2 mul 60 add sin\\\bottomrule
\end{tabular}

\begin{minipage}[c]{4cm}%
\begin{center}\psset{xunit=1.5cm,yunit=1.5cm}
\begin{pspicture}(-1.1,-1.1)(1.1,1.1)
\psgrid[subgriddiv=0,griddots=10,gridlabels=7pt](-1,-1)(1,1)
\parametricplot%
  [plotstyle=curve,linewidth=1.5pt,plotpoints=200]%
  {-360}{360}%
  {t 1.5 mul sin t 2 mul 60 add sin}
\end{pspicture}\end{center}\end{minipage}%
\hfill{}\begin{minipage}[c]{0.75\columnwidth}%
\scriptsize
\begin{verbatim}
\psset{xunit=1.5cm,yunit=1.5cm}
\begin{pspicture}(-1,-1)(1,1)
\psgrid[subgriddiv=0,griddots=10,gridlabels=7pt]%
   (-1,-1)(1,1)
\parametricplot[plotstyle=curve,linewidth=1.5pt,%
   plotpoints=200]{-360}{360}{%
   t 1.5 mul sin t 2 mul 60 add sin}
\end{pspicture}
\end{verbatim}
\end{minipage}%


Aufgrund der "`Länge"' des Graphen wurde der Wert für
\texttt{plotpoints} auf $200$ gesetzt, sodass auch die "`Ecken"' des
Graphen mit starker Krümmung kontinuierlich erscheinen.


\subsection{Strophoide}

Zum Schluss wird eine sogenannte Strophoide dargestellt, die durch
folgende Beziehungen gegeben ist, wobei $a$ durch einen Zahlenwert
ersetzt werden muss:

\def\arraystretch{1.2}

\begin{tabular}{cl}\toprule
Funktion&
\PS\\
\midrule
$x(t)=\frac{\displaystyle a\left(t^{2}-1\right)}{\displaystyle t^{2}+1}$&\tt
t t mul 1 sub $a$ mul t t mul 1 add div\\
%\hline 
$y(t)=\frac{\displaystyle at\left(t^{2}-1\right)}{\displaystyle t^{2}+1}$&\tt
t t mul 1 sub t mul $a$ mul t t mul 1 add div \\\bottomrule
\end{tabular}

\begin{minipage}[c]{4cm}%
\begin{center}\psset{xunit=2cm,yunit=2cm}
\begin{pspicture}(-1.25,-1.25)(1.25,1.25)
\psgrid[subgriddiv=1,griddots=10,gridlabels=7pt](-1,-1)(1,1)
\parametricplot%
   [plotstyle=curve,plotpoints=200,linewidth=1.5pt]{-1.85}{1.85}%
   {t t mul 1 sub t t mul 1 add div % a=1
    t t mul 1 sub t mul t t mul 1 add div}
\parametricplot[plotstyle=curve,plotpoints=200,%
   linewidth=1.5pt, linestyle=dashed]{-4.5}{4.5}%
   {t t mul 1 sub 0.25 mul t t mul 1 add div % a=0.25
    t t mul 1 sub t mul 0.25 mul t t mul 1 add div}
\parametricplot[plotstyle=curve,plotpoints=200,%
   linewidth=1.5pt, linestyle=dotted]{-2.1}{2.1}%
   {t t mul 1 sub 0.75 mul t t mul 1 add div % a=0.75
    t t mul 1 sub t mul 0.75 mul t t mul 1 add div}
\rput[l](-0.95,-0.4){$\scriptstyle a=1;\ 0.75;\ 0.25$}
\end{pspicture}\end{center}\end{minipage}%
\hfill{}\begin{minipage}[c]{0.57\columnwidth}%
\scriptsize
\begin{verbatim}
\psset{xunit=2cm,yunit=2cm}
\begin{pspicture}(-1.25,-1.25)(1.25,1.25)
\psgrid[subgriddiv=1,griddots=10,%
   gridlabels=7pt](-1,-1)(1,1)
\parametricplot[plotstyle=curve,plotpoints=200,%
   linewidth=1.5pt]{-1.85}{1.85}%
   {t t mul 1 sub t t mul 1 add div % a=1
   t t mul 1 sub t mul t t mul 1 add div}
\parametricplot[plotstyle=curve,plotpoints=200,%
   linewidth=1.5pt, linestyle=dashed]{-5}{5}%
   {t t mul 1 sub 0.25 mul t t mul 1 add div %
   t t mul 1 sub t mul 0.25 mul t t mul 1 add div}
\parametricplot[plotstyle=curve,plotpoints=200,%
   linewidth=1.5pt, linestyle=dashed]{-1}{1}%
   {t t mul 1 sub 0.75 mul t t mul 1 add div %
   t t mul 1 sub t mul 0.75 mul t t mul 1 add div}
\rput[l](-0.95,-0.4){$\scriptstyle %
    a=1;\ 0.75;\ 0.25$}
\end{pspicture}
\end{verbatim}
\end{minipage}%


\appendix

\section{Zusammenstellung der mathematischen \PS-Funktionen}

Die folgende tabellarische Zusammenstellung enthält bis auf die
Matrizenbefehle alle mathematischen Funktionen mit ihren
Eigenschaften. Hierin sind \emph{<int>} und \emph{<real>} die
bekannten Integer und Reals, während für \emph{<any>} jeder
beliebige Typ und für \emph{<num>} \emph{real} oder \emph{integer}
gesetzt werden kann. Unabhängig von der Null gelten für Zahlen unter
\PS\ die folgenden Grenzen, wobei die Angaben für \emph{real}
betragsmäßig zu verstehen sind.

\begin{tabular}{lcc}\toprule
&
\emph{integer}&
\emph{real}\\
\hline 
kleinster Wert&
$-2^{32}$&
$\pm 10^{-38}$\\
größter Wert&
$2^{32}-1$&
$\pm 10^{38}$\\\bottomrule
\end{tabular}

\begingroup
\def\arraystretch{1.1}%
\begin{longtable}{p{10.5mm}p{26mm}p{36mm}p{28mm}}
\toprule
\textit{Name}&
\textit{Bedeutung}&
\textit{Anwendung}&
\textit{Beispiel}\\\midrule 
\endhead
abs&Absolutwert&<num> abs&$-3$~abs~$\rightarrow 3$ \\
%\hline
add&Addition\footnotemark&<num1> <num2> add&$5$~$7$~add~$\rightarrow 12$\\
%\hline
atan&Arcus Tangens\footnotemark&<real1> <real2> atan&$2$~$45$~atan$\rightarrow 2.54$\\
%\hline
cos&Cosinus\footnotemark&<real> cos&$60$~cos$\rightarrow 0.5$\\
%\hline
cvi&Real$\rightarrow $Integer&<real> cvi&$14.13$~cvi$\rightarrow 14$\\
%\hline
cvr&Integer$\rightarrow $Real&<int> cvr&$14$~cvr$\rightarrow 14.00$\\
%\hline
div&Division\footnotemark&<real1> <real2> div&$100\  8$~div$\rightarrow 12.5$\\
%\hline
dup&\raggedright Dupliziere oberstes Stack-Element&<any> dup&$12$~dup$\rightarrow 12\  12$\\
%\hline
exch&Exchange\footnotemark&<any1> <any2> exch&$12\  13$~exch$\rightarrow 13\  12$\\
%\hline
exp&Potenz&<real1> <real2> exp&$3\  4$~exp$\rightarrow 81.0$\\
%\hline
idiv&\raggedright ganzzahlige Division&<int1> <int2> idiv&$100\  8$~idiv$\rightarrow 12$\\
%\hline
ln&\raggedright natürlicher Logarithmus&<real> ln&$12$~ln$\rightarrow 2.48491$\\
%\hline
log	&Zehner-Logarithmus	&<real> log&$1000$~log$\rightarrow 3.00$\\
%\hline
mod	&Modulo&<int1> <int2> mod&$5\  3\  $mod$\rightarrow 2$\\
%\hline
mul	&Multiplikation$^{1}$	&<num1> <num2> mul&$5\  3\  $mul$\rightarrow 15$\\
%\hline
neg	&\raggedright Negiere Vorzeichen&<num> neg&$5\  $neg$\rightarrow -5$\\
%\hline
round	&Runden&<real> round&$5.7\  $round$\rightarrow 6$\\
%\hline
sin	&Sinus$^{3}$&<real> sin&$30$~sin$\rightarrow 0.5$\\
%\hline
sqrt	&Quadratwurzel&<real> sqrt&$16$ sqrt$\rightarrow 4.0$\\
%\hline
sub	&Subtraktion$^{1}$&<num1> <num2> sub&$17\  19\  $sub$\rightarrow -2$\\
%\hline
truncate&Dezimalteil abtrennen\footnotemark&<real> truncate&$-33.33\rightarrow 33.00\ $\\\bottomrule
\end{longtable}

\small\parskip=1pt
Anmerkungen:

$^{1}$ Sind beide Argumente ganze Zahlen ist auch das Ergebnis vom
Typ Integer.

$^{2}$ Entspricht der Darstellung $\alpha =
\textrm{arctan}\displaystyle \frac{<real1>}{<real2>}$.

$^{3}$ Das Argument wird im Gradmaß erwartet.

$^{4}$ Das Ergebnis ist grundsätzlich vom Typ \emph{real}.

$^{5}$ Die Anordnung der letzten beiden Stack-Elemente wird vertauscht.

$^{6}$ Das Ergebnis bleibt vom Typ \emph{real}.
\endgroup

\bibliography{\jobname}
\end{document}
