\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$$b$*"'. Es sind immer zuerst die Parameter (Variablen) auf dem Stack abzulegen (durch 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{} und \emph{} die bekannten Integer und Reals, während für \emph{} jeder beliebige Typ und für \emph{} \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& abs&$-3$~abs~$\rightarrow 3$ \\ %\hline add&Addition\footnotemark& add&$5$~$7$~add~$\rightarrow 12$\\ %\hline atan&Arcus Tangens\footnotemark& atan&$2$~$45$~atan$\rightarrow 2.54$\\ %\hline cos&Cosinus\footnotemark& cos&$60$~cos$\rightarrow 0.5$\\ %\hline cvi&Real$\rightarrow $Integer& cvi&$14.13$~cvi$\rightarrow 14$\\ %\hline cvr&Integer$\rightarrow $Real& cvr&$14$~cvr$\rightarrow 14.00$\\ %\hline div&Division\footnotemark& div&$100\ 8$~div$\rightarrow 12.5$\\ %\hline dup&\raggedright Dupliziere oberstes Stack-Element& dup&$12$~dup$\rightarrow 12\ 12$\\ %\hline exch&Exchange\footnotemark& exch&$12\ 13$~exch$\rightarrow 13\ 12$\\ %\hline exp&Potenz& exp&$3\ 4$~exp$\rightarrow 81.0$\\ %\hline idiv&\raggedright ganzzahlige Division& idiv&$100\ 8$~idiv$\rightarrow 12$\\ %\hline ln&\raggedright natürlicher Logarithmus& ln&$12$~ln$\rightarrow 2.48491$\\ %\hline log &Zehner-Logarithmus & log&$1000$~log$\rightarrow 3.00$\\ %\hline mod &Modulo& mod&$5\ 3\ $mod$\rightarrow 2$\\ %\hline mul &Multiplikation$^{1}$ & mul&$5\ 3\ $mul$\rightarrow 15$\\ %\hline neg &\raggedright Negiere Vorzeichen& neg&$5\ $neg$\rightarrow -5$\\ %\hline round &Runden& round&$5.7\ $round$\rightarrow 6$\\ %\hline sin &Sinus$^{3}$& sin&$30$~sin$\rightarrow 0.5$\\ %\hline sqrt &Quadratwurzel& sqrt&$16$ sqrt$\rightarrow 4.0$\\ %\hline sub &Subtraktion$^{1}$& sub&$17\ 19\ $sub$\rightarrow -2$\\ %\hline truncate&Dezimalteil abtrennen\footnotemark& 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{}{}$. $^{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}