summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/pst-plot/dtk02-1.tex
blob: 1ca703b0c6cf701c09b7d0b86cd4daf95e0b2b0c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
\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}