summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/generic')
-rw-r--r--Master/texmf-dist/doc/generic/pst-eps/Changes7
-rw-r--r--Master/texmf-dist/doc/generic/pst-eps/README11
-rw-r--r--Master/texmf-dist/doc/generic/pst-eps/pst-eps-doc.bib78
-rw-r--r--Master/texmf-dist/doc/generic/pst-eps/pst-eps-doc.pdfbin0 -> 91735 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pst-eps/pst-eps-doc.tex255
-rw-r--r--Master/texmf-dist/doc/generic/pst-eps/spirale.eps513
-rw-r--r--Master/texmf-dist/doc/generic/pst-grad/Changes14
-rw-r--r--Master/texmf-dist/doc/generic/pst-grad/README12
-rw-r--r--Master/texmf-dist/doc/generic/pst-grad/pst-grad-doc.bib204
-rw-r--r--Master/texmf-dist/doc/generic/pst-grad/pst-grad-doc.pdfbin0 -> 250091 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pst-grad/pst-grad-doc.tex429
11 files changed, 1523 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-eps/Changes b/Master/texmf-dist/doc/generic/pst-eps/Changes
new file mode 100644
index 00000000000..a1f83ef7fb7
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-eps/Changes
@@ -0,0 +1,7 @@
+pst-eps.sty --------
+
+pst-eps.tex --------
+v 1.00 2006/08/13 use pst-xkey for the keyhandling (hv)
+
+
+pst-eps-doc.tex --------
diff --git a/Master/texmf-dist/doc/generic/pst-eps/README b/Master/texmf-dist/doc/generic/pst-eps/README
new file mode 100644
index 00000000000..5b29e1ced19
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-eps/README
@@ -0,0 +1,11 @@
+pst-eps: exporting eps figures
+
+pst-eps.sty - The LaTeX file
+pst-eps.tex - The TeX file
+pst-eps-doc.pdf - The documentation
+pst-eps-doc.tex - The documentation source
+pst-eps-doc.bib - The documentation bib
+
+
+--
+Herbert Voss 2006-11-05
diff --git a/Master/texmf-dist/doc/generic/pst-eps/pst-eps-doc.bib b/Master/texmf-dist/doc/generic/pst-eps/pst-eps-doc.bib
new file mode 100644
index 00000000000..95dd5f1cf9d
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-eps/pst-eps-doc.bib
@@ -0,0 +1,78 @@
+%% -*-bibtex-*-
+@STRING{tugboat = {TUGboat} }
+@STRING{dtk = {{D}ie {\TeX}nische {K}om{\"o}die} }
+
+@Book{companion,
+ author = {Michel Goosens and Frank Mittelbach and Alexander
+ Samarin},
+ title = {The {\LaTeX} {G}raphics {C}ompanion},
+ publisher = {{Addison-Wesley Publishing Company}},
+ year = {1997},
+ address = {Reading, Mass.}
+}
+
+@Article{girou:01:,
+ author = {Denis Girou},
+ title = {Pr\'esentation de {PST}ricks},
+ journal = {Cahier {GUT}enberg},
+ year = 1994,
+ volume = {16},
+ month = apr,
+ pages = {21-70}
+}
+
+@Article{girou:02:,
+ author = {{Timothy Van} Zandt and Denis Girou},
+ title = {Inside {PST}ricks},
+ journal = TUGboat,
+ year = 1994,
+ volume = {15},
+ month = sep,
+ pages = {239-246}
+}
+
+@Book{PostScript,
+ Author = {Kollock, Nikolai G.},
+ Title = {Post{S}cript richtig eingesetzt: vom {K}onzept zum
+ praktischen {E}insatz},
+ Publisher = {IWT},
+ Address = {Vaterstetten},
+ year = 1989,
+}
+
+@Manual{pstricks,
+ Title = {PSTricks - {\PS} macros for generic {\TeX}},
+ Author = {{Timothy Van} Zandt},
+ Organization = {},
+ Address = {\url{http://www.tug.org/application/PSTricks}},
+ Note = {},
+ year = 1993
+}
+
+@Manual{pst-eps,
+ Title = {\texttt{pst-eps}: Exporting eps images},
+ Author = {{Timothy Van} Zandt},
+ Organization = {},
+ Address = {\url{CTAN:graphics/pstricks/generic/}},
+ Note = {},
+ year = 1999
+}
+
+@Manual{multido,
+ Title = {\texttt{multido.tex} - a loop macro, that supports fixed-point addition},
+ Author = {{Timothy Van} Zandt},
+ Organization = {},
+ Address = {\url{CTAN:/graphics/pstricks/generic/multido.tex}},
+ Note = {},
+ year = 1997
+}
+
+@Book{PSTricks2,
+ author = {Herbert Vo\ss{}},
+ title = {\texttt{PSTricks} -- {G}rafik f\"ur \TeX{} und \LaTeX},
+ edition = {third},
+ publisher = {DANTE -- Lehmanns},
+ year = {2006},
+ address = {Heidelberg/Hamburg}
+}
+
diff --git a/Master/texmf-dist/doc/generic/pst-eps/pst-eps-doc.pdf b/Master/texmf-dist/doc/generic/pst-eps/pst-eps-doc.pdf
new file mode 100644
index 00000000000..18774d7d8ba
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-eps/pst-eps-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pst-eps/pst-eps-doc.tex b/Master/texmf-dist/doc/generic/pst-eps/pst-eps-doc.tex
new file mode 100644
index 00000000000..4baf0abb07f
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-eps/pst-eps-doc.tex
@@ -0,0 +1,255 @@
+\documentclass[english]{article}
+%
+\usepackage[T1]{fontenc}
+\usepackage[latin9]{inputenc}
+\listfiles
+\usepackage[scaled]{luximono}
+\usepackage{lmodern}
+\usepackage{xspace,setspace}
+\usepackage[bottom]{footmisc}
+\usepackage{tabularx}
+\usepackage{longtable}
+\usepackage[NewCommands,NewParameters]{ragged2e}
+\usepackage[dvipsnames]{pstricks}
+\usepackage{pst-plot,pst-eps}
+\usepackage{graphicx,multido}
+\definecolor{hellgelb}{rgb}{1,1,0.8}
+%
+\def\PST{{\texttt{PSTricks}}\xspace}
+\def\PDF{{\texttt{PDF}}\xspace}
+\def\pst{{\texttt{pstricks}}\xspace}
+\def\PS{PostScript\xspace}
+\newcommand*\CMD[1]{{\UrlFont\texttt{\textbackslash #1}}}
+%
+\def\tIndex#1{\index{#1@{\UrlFont\texttt{#1}}}}
+\def\cIndex#1{\index{#1@\CMD{#1}}}
+\def\pIndex#1{\index{Parameter@\textbf{Parameter}!{\UrlFont\texttt{#1}}}}
+\def\ppIndex#1{\index{Parameter@\textbf{Parameter}!{#1}}}
+\def\sIndex#1{\index{Syntax@\textbf{Syntax}!\CMD{#1}}}
+\def\csIndex#1{\sIndex{#1}\cIndex{#1}}
+\def\PIndex#1{\index{Paket@\textbf{Paket}!\texttt{#1}}}
+\def\mIndex#1{\texttt{#1}\tIndex{#1}\pIndex{#1}}
+%
+\pretolerance=500
+\tolerance=1000
+\hbadness=3000
+\vbadness=3000
+\hyphenpenalty=400
+
+\usepackage{showexpl}% not a real PSTricks package
+\usepackage{babel}
+\usepackage{makeidx}
+\makeindex
+\usepackage[dvips,colorlinks,linktocpage]{hyperref} % PDF-support
+%
+\renewcommand{\ttdefault}{ul9}% Luxi Mono
+\lstset{keywordstyle=\small\ttfamily\bfseries}
+\lstset{language=PSTricks,moredelim=**[is][\bf\color{blue}]{§}{§}}% oder andere Begrenzer
+%
+
+\begin{document}
+%
+\title{\texttt{pst-eps}:\newline Export of \PST environments}
+\author{Herbert Voß%\thanks{Thanks to Lars Kotthoff and Geoff Mercer for translating this documentation!}
+}
+\maketitle
+
+\begin{abstract}
+It is relatively easy to save single \PST graphics as \PS files.
+Important is that one
+\begin{itemize}
+\item puts a frame using \verb+\fbox+ around the \PST object,
+\item sets the line color to \verb+white+,
+\item sets \verb+\fboxsep+ to \verb+0pt+ to avoid getting any additional space,
+\item chooses \verb+\pagestyle{empty}+, to suppress the page number.
+\end{itemize}
+\end{abstract}
+
+\tableofcontents
+
+\clearpage
+
+
+\section{introduction}
+Creating a \verb+EPS+\tIndex{EPS} file from the dvi output is possible with
+%
+\begin{verbatim}
+dvips spirale.dvi -E -o spirale.eps
+\end{verbatim}
+%
+which has the correct bounding box\index{bounding box} (for
+figures~\ref{fig:psteps:-E} \verb+%%BoundingBox: 148 456 364 668+) on one hand
+and on the other can be included as normal a graphic in the document without
+problems thereafter. Figure~\ref{fig:psteps:-E} shows a graphic created this
+way and listing~\ref{lst:psteps:-E} the according source code.
+
+\begin{figure}[htb]
+\centering
+\includegraphics[scale=0.75]{spirale}
+\caption{With the ``\texttt{-E}''{}- option created \texttt{EPS} file}\label{fig:psteps:-E}
+\end{figure}
+
+\begin{lstlisting}[caption={Source code for figure~\ref{fig:psteps:-E}},label={lst:psteps:-E}]
+\documentclass{article}
+\usepackage{pstricks}% automatically loads xcolor
+\usepackage{pst-plot}
+\pagestyle{empty}
+\begin{document}
+
+\color{white}% fbox invisible
+\fboxsep=0pt
+\fbox{%
+ \begin{pspicture}(-4,-4)(4,4)
+ \parametricplot[plotpoints=1000]{0}{3600}{t dup cos 1000 div mul t dup sin 1000 div mul}
+\end{pspicture}
+}
+\end{document}
+\end{lstlisting}
+
+With this method, one is forced to work with \verb+\fbox+, since \verb+dvips+ is
+unable to determine a correct bounding box otherwise, because \verb+dvips+ does
+not regard graphical elements as boundaries. As an example for this, simply
+convert the above example without using \verb+\fbox+. Since \verb+\fbox+ as a
+text element represents a clear boundary on text layer, \verb+dvips+ has no
+problems to definitely determine the bounding box. For converting single
+graphics this method is surely very efficient, but very time-consuming for a
+larger number. This is where the package \verb+pst-eps+ comes in, which tries to
+automate this process.
+
+% ---------------------------------------------------------------------------------------
+\section{\CMD{TeXtoEPS}}\label{sec:psteps:textoeps}
+% ---------------------------------------------------------------------------------------
+This macro has the task of rendering the trick with \verb+\fbox+ shown above
+superfluous, and therefore give \verb+dvips+ a possiblity to correctly determine
+the bounding box.
+
+\begin{verbatim}
+\TeXtoEPS% TeX
+ ...
+\endTeXtoEPS
+\begin{TeXtoEPS}% LaTeX
+ ...
+\end{TeXtoEPS}
+\end{verbatim}
+\csIndex{TeXtoEPS}
+The same example as in listing~\ref{lst:psteps:-E} is picked up again, yielding
+the source code in listing~\ref{lst:psteps:TeXtoEPS}.
+
+\begin{lstlisting}[caption={Alternative source code to figure~\ref{fig:psteps:-E}},label={lst:psteps:TeXtoEPS}]
+\documentclass{article}
+\usepackage{pst-eps}
+\usepackage{pst-plot}
+\pagestyle{empty}
+\begin{document}
+
+\begin{TeXtoEPS}
+ \begin{pspicture}(-3.7,-3.7)(3.7,3.7)
+ \parametricplot[plotpoints=1000]{0}{3600}{t dup cos 1000 div mul t dup sin 1000 div mul}
+ \end{pspicture}
+\end{TeXtoEPS}
+
+\end{document}
+\end{lstlisting}
+
+Again the \verb+DVI+ file is converted with \verb+dvips+ as described above,
+whereas this time a correct bounding box is yielded: \verb+%%BoundingBox: 71 509 286 721+,
+which differs only in absolute, but not in relative values from the values given
+above.
+
+
+
+% ---------------------------------------------------------------------------------------
+\section{\CMD{PSTtoEPS}}\label{sec:psteps:pstoeps}
+% ---------------------------------------------------------------------------------------
+With \verb+PSTtoEPS+\csIndex{PSTtoEPS} the \PST environment can be saved in an
+external file without detours.
+
+\begin{verbatim}
+\PSTtoEPS[<parameters>]{<filename>}{<graphic object>}
+\end{verbatim}
+
+With this macro the problem of the bounding box not being determined correctly
+arises again. It can be specified with according parameters (table~\ref{tab:pst-eps:parameter})
+The file is created immediately, so that it can be read direcly afterwards as
+\verb+EPS+ file, as in the following example.
+
+
+\begin{center}
+\PSTtoEPS[bbllx=-0.5,bblly=-0.5,bburx=5.3,bbury=3.4,
+ checkfile,headers=all,makeeps=all*]{frame.eps}{%
+ \psgrid[subgriddiv=0](5,3)
+ \psframe[linecolor=blue,linewidth=0.1](1,1)(4,2)%
+}
+\includegraphics[scale=0.5]{frame}
+\end{center}
+
+\begin{lstlisting}
+\psset{checkfile=true}
+\PSTtoEPS[bbllx=-0.5,bblly=-0.5,bburx=5.3,bbury=3.4,
+ checkfile,headers=all,makeeps=all*]{frame.eps}{%
+ \psgrid[subgriddiv=0](5,3)
+ \psframe[linecolor=blue,linewidth=0.1](1,1)(4,2)%
+}
+\includegraphics[scale=0.5]{frame}
+\end{lstlisting}
+
+
+
+% ---------------------------------------------------------------------------------------
+\section{Parameters}\label{sec:psteps:parameter}
+% ---------------------------------------------------------------------------------------
+Table~\ref{tab:pst-eps:parameter} shows a compilation of all special parameters
+valid for \verb+pst-eps+.
+
+\begin{figure}[!t]
+\caption{Summary of all parameters for \texttt{pst-eps}}\label{tab:pst-eps:parameter}
+\begin{tabularx}{\linewidth}{@{}>{\ttfamily}l>{\ttfamily}l>{\ttfamily}lX@{}}
+\textrm{name} & \textrm{values} & \textrm{default} & meaning\\\hline
+bbllx & <value[unit]> & 0pt & bounding box lower left x\\
+bblly & <value[unit]> & 0pt & lower left y\\
+bburx & <value[unit]> & 0pt & upper right x\\
+bburx & <value[unit]> & 0pt & upper right y\\
+makeeps & none|new|all|all* & new & none: do nothing\newline
+ new: create, when non exists\newline
+ all: create allways\newline
+ all*: ask before overwriting\tabularnewline
+checkfile & <true|false> & false & check before overwriting\\
+headerfile & <filename> & \{\} & filename of header to include\\
+headers & none|all|user & none & none: no headers\newline
+ all: include all PSTricks header files\newline
+ user: include only the header \texttt{headerfile}\\
+GraphicsRef & <{x,y}> & \{\} & reference point\\
+Translation & <{x,y}> & \{\} & set another origin\\
+Rotation & <value> & \{\} & rotation angle\\
+Scale & <value1 value2> & \{\} & scaling\\
+\end{tabularx}
+\end{figure}
+\tIndex{bbllx}\tIndex{bblly}\tIndex{bburx}\tIndex{bbury}%
+\tIndex{makeeps}\tIndex{headerfile}\tIndex{headers}\tIndex{GraphicsRef}%
+\tIndex{Rotation}\tIndex{Scale}
+\pIndex{bbllx}\pIndex{bblly}\pIndex{bburx}\pIndex{bbury}%
+\pIndex{makeeps}\pIndex{headerfile}\pIndex{headers}\pIndex{GraphicsRef}%
+\pIndex{Rotation}\pIndex{Scale}
+
+
+The parameters shall not be discussed in detail here, since the package
+\verb+pst-eps+ can be substituted by other possiblities meanwhile.
+
+A practical use of \verb+pst-eps+ arises, when the calculation of single objects
+requires intense processor time, for instance three dimensional objects, like
+cylinders or spheres. Instead of conducting those calculation at every compile
+of the document again, one could create the graphic as \verb+EPS+ file in the
+first place and only read it in consequent \LaTeX{} runs.
+
+
+\nocite{*}
+\bgroup
+\raggedright
+\bibliographystyle{plain}
+\bibliography{\jobname}
+\egroup
+
+\printindex
+
+
+\end{document}
diff --git a/Master/texmf-dist/doc/generic/pst-eps/spirale.eps b/Master/texmf-dist/doc/generic/pst-eps/spirale.eps
new file mode 100644
index 00000000000..0ccf1a989f4
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-eps/spirale.eps
@@ -0,0 +1,513 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Creator: dvips(k) 5.94a Copyright 2003 Radical Eye Software
+%%Title: test.dvi
+%%BoundingBox: 148 456 364 668
+%%EndComments
+%DVIPSWebPage: (www.radicaleye.com)
+%DVIPSCommandLine: dvips test.dvi -E -o spirale.eps
+%DVIPSParameters: dpi=600, compressed
+%DVIPSSource: TeX output 2004.04.15:1356
+%%BeginProcSet: texc.pro 0 0
+%!
+/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
+N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
+mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
+0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
+landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
+mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
+matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
+exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
+statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
+N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
+/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
+/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
+array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
+df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
+definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
+}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
+B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
+1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3
+1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
+0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
+sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
+rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
+gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
+/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
+/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
+A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
+get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
+ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
+fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
+{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
+chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
+1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
+forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
+/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
+}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
+bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
+mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
+SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
+userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
+1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
+index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
+/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
+/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
+(LaserWriter 16/600)]{A length product length le{A length product exch 0
+exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
+end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
+grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
+imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
+exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
+fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
+delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
+B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
+p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
+rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
+
+%%EndProcSet
+%%BeginProcSet: pstricks.pro 0 0
+%!
+% PostScript prologue for pstricks.tex.
+% Version 97 patch 3, 98/06/01
+% For distribution, see pstricks.tex.
+%
+/tx@Dict 200 dict def tx@Dict begin
+/ADict 25 dict def
+/CM { matrix currentmatrix } bind def
+/SLW /setlinewidth load def
+/CLW /currentlinewidth load def
+/CP /currentpoint load def
+/ED { exch def } bind def
+/L /lineto load def
+/T /translate load def
+/TMatrix { } def
+/RAngle { 0 } def
+/Atan { /atan load stopped { pop pop 0 } if } def
+/Div { dup 0 eq { pop } { div } ifelse } def
+/NET { neg exch neg exch T } def
+/Pyth { dup mul exch dup mul add sqrt } def
+/PtoC { 2 copy cos mul 3 1 roll sin mul } def
+/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def }
+def
+/PathLength { flattenpath /z 0 def { /y1 ED /x1 ED /y2 y1 def /x2 x1 def
+} { /y ED /x ED PathLength@ } {} { /y y2 def /x x2 def PathLength@ }
+/pathforall load stopped { pop pop pop pop } if z } def
+/STP { .996264 dup scale } def
+/STV { SDict begin normalscale end STP } def
+/DashLine { dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def
+PathLength } ifelse /b ED /x ED /y ED /z y x add def b a .5 sub 2 mul y
+mul sub z Div round z mul a .5 sub 2 mul y mul add b exch Div dup y mul
+/y ED x mul /x ED x 0 gt y 0 gt and { [ y x ] 1 a sub y mul } { [ 1 0 ]
+0 } ifelse setdash stroke } def
+/DotLine { /b PathLength def /a ED /z ED /y CLW def /z y z add def a 0 gt
+{ /b b a div def } { a 0 eq { /b b y sub def } { a -3 eq { /b b y add
+def } if } ifelse } ifelse [ 0 b b z Div round Div dup 0 le { pop 1 } if
+] a 0 gt { 0 } { y 2 div a -2 gt { neg } if } ifelse setdash 1
+setlinecap stroke } def
+/LineFill { gsave abs CLW add /a ED a 0 dtransform round exch round exch
+2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25
+% DG/SR modification begin - Dec. 12, 1997 - Patch 2
+%itransform translate pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a
+itransform pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a
+% DG/SR modification end
+Div cvi /x1 ED /y2 y2 y1 sub def clip newpath 2 setlinecap systemdict
+/setstrokeadjust known { true setstrokeadjust } if x2 x1 sub 1 add { x1
+% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis)
+% a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore }
+% def
+a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore
+pop pop } def
+% DG/SR modification end
+/BeginArrow { ADict begin /@mtrx CM def gsave 2 copy T 2 index sub neg
+exch 3 index sub exch Atan rotate newpath } def
+/EndArrow { @mtrx setmatrix CP grestore end } def
+/Arrow { CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1
+scale } if w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill
+grestore } def
+/Tbar { CLW mul add /z ED z -2 div CLW 2 div moveto z 0 rlineto stroke 0
+CLW moveto } def
+/Bracket { CLW mul add dup CLW sub 2 div /x ED mul CLW add /y ED /z CLW 2
+div def x neg y moveto x neg CLW 2 div L x CLW 2 div L x y L stroke 0
+CLW moveto } def
+/RoundBracket { CLW mul add dup 2 div /x ED mul /y ED /mtrx CM def 0 CLW
+2 div T x y mul 0 ne { x y scale } if 1 1 moveto .85 .5 .35 0 0 0
+curveto -.35 0 -.85 .5 -1 1 curveto mtrx setmatrix stroke 0 CLW moveto }
+def
+/SD { 0 360 arc fill } def
+/EndDot { { /z DS def } { /z 0 def } ifelse /b ED 0 z DS SD b { 0 z DS
+CLW sub SD } if 0 DS z add CLW 4 div sub moveto } def
+/Shadow { [ { /moveto load } { /lineto load } { /curveto load } {
+/closepath load } /pathforall load stopped { pop pop pop pop CP /moveto
+load } if ] cvx newpath 3 1 roll T exec } def
+/NArray { aload length 2 div dup dup cvi eq not { exch pop } if /n exch
+cvi def } def
+/NArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop } if
+f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def
+/Line { NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub
+def n { Lineto } repeat CP 4 2 roll ArrowB L pop pop } if } def
+/Arcto { /a [ 6 -2 roll ] cvx def a r /arcto load stopped { 5 } { 4 }
+ifelse { pop } repeat a } def
+/CheckClosed { dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq
+and { pop pop /n n 1 sub def } if } def
+/Polygon { NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { pop pop }
+repeat } { n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED /x0 ED /y1
+ED /x1 ED x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1
+moveto /n n 2 sub def n { Lineto } repeat x1 y1 x0 y0 6 4 roll Lineto
+Lineto pop pop closepath } ifelse } def
+/Diamond { /mtrx CM def T rotate /h ED /w ED dup 0 eq { pop } { CLW mul
+neg /d ED /a w h Atan def /h d a sin Div h add def /w d a cos Div w add
+def } ifelse mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2
+div /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx
+setmatrix } def
+% DG modification begin - Jan. 15, 1997
+%/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup 0 eq {
+%pop } { CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2
+%div dup cos exch sin Div mul sub def } ifelse mark 0 d w neg d 0 h w d 0
+%d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx
+%setmatrix } def
+/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup
+CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2
+div dup cos exch sin Div mul sub def mark 0 d w neg d 0 h w d 0
+d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx
+% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis)
+% setmatrix } def
+setmatrix pop } def
+% DG/SR modification end
+/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth
+def } def
+/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth
+def } def
+/CC { /l0 l1 def /x1 x dx sub def /y1 y dy sub def /dx0 dx1 def /dy0 dy1
+def CCA /dx dx0 l1 c exp mul dx1 l0 c exp mul add def /dy dy0 l1 c exp
+mul dy1 l0 c exp mul add def /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos
+abs b exp a mul dx dy Pyth Div 2 div def /x2 x l0 dx mul m mul sub def
+/y2 y l0 dy mul m mul sub def /dx l1 dx mul m mul neg def /dy l1 dy mul
+m mul neg def } def
+/IC { /c c 1 add def c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if }
+ifelse /a a 2 mul 3 div 45 cos b exp div def CCA /dx 0 def /dy 0 def }
+def
+/BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def
+/NC { CC x1 y1 x2 y2 x y curveto } def
+/EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def
+/BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def
+/NAC { x2 y2 x y curveto CC x1 y1 } def
+/EAC { x2 y2 x y ArrowB curveto pop pop } def
+/OpenCurve { NArray n 3 lt { n { pop pop } repeat } { BOC /n n 3 sub def
+ n { NC } repeat EOC } ifelse } def
+/AltCurve { { false NArray n 2 mul 2 roll [ n 2 mul 3 sub 1 roll ] aload
+/Points ED n 2 mul -2 roll } { false NArray } ifelse n 4 lt { n { pop
+pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse } def
+/ClosedCurve { NArray n 3 lt { n { pop pop } repeat } { n 3 gt {
+CheckClosed } if 6 copy n 2 mul 6 add 6 roll IC CC x y moveto n { NC }
+repeat closepath pop pop } ifelse } def
+/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def
+/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def
+/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore }
+def
+/FontDot { DS 2 mul dup matrix scale matrix concatmatrix exch matrix
+rotate matrix concatmatrix exch findfont exch makefont setfont } def
+/Rect { x1 y1 y2 add 2 div moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto
+x1 y1 lineto closepath } def
+/OvalFrame { x1 x2 eq y1 y2 eq or { pop pop x1 y1 moveto x2 y2 L } { y1
+y2 sub abs x1 x2 sub abs 2 copy gt { exch pop } { pop } ifelse 2 div
+exch { dup 3 1 roll mul exch } if 2 copy lt { pop } { exch pop } ifelse
+/b ED x1 y1 y2 add 2 div moveto x1 y2 x2 y2 b arcto x2 y2 x2 y1 b arcto
+x2 y1 x1 y1 b arcto x1 y1 x1 y2 b arcto 16 { pop } repeat closepath }
+ifelse } def
+/Frame { CLW mul /a ED 3 -1 roll 2 copy gt { exch } if a sub /y2 ED a add
+/y1 ED 2 copy gt { exch } if a sub /x2 ED a add /x1 ED 1 index 0 eq {
+pop pop Rect } { OvalFrame } ifelse } def
+/BezierNArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop
+} if n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat f { ]
+aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def
+/OpenBezier { BezierNArray n 1 eq { pop pop } { ArrowA n 4 sub 3 idiv { 6
+2 roll 4 2 roll curveto } repeat 6 2 roll 4 2 roll ArrowB curveto }
+ifelse } def
+/ClosedBezier { BezierNArray n 1 eq { pop pop } { moveto n 1 sub 3 idiv {
+6 2 roll 4 2 roll curveto } repeat closepath } ifelse } def
+/BezierShowPoints { gsave Points aload length 2 div cvi /n ED moveto n 1
+sub { lineto } repeat CLW 2 div SLW [ 4 4 ] 0 setdash stroke grestore }
+def
+/Parab { /y0 exch def /x0 exch def /y1 exch def /x1 exch def /dx x0 x1
+sub 3 div def /dy y0 y1 sub 3 div def x0 dx sub y0 dy add x1 y1 ArrowA
+x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB curveto /Points [ x1 y1 x0
+y0 x0 2 mul x1 sub y1 ] def } def
+/Grid { newpath /a 4 string def /b ED /c ED /n ED cvi dup 1 lt { pop 1 }
+if /s ED s div dup 0 eq { pop 1 } if /dy ED s div dup 0 eq { pop 1 } if
+/dx ED dy div round dy mul /y0 ED dx div round dx mul /x0 ED dy div
+round cvi /y2 ED dx div round cvi /x2 ED dy div round cvi /y1 ED dx div
+round cvi /x1 ED /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def /w x2 x1 sub
+0 gt { 1 } { -1 } ifelse def b 0 gt { /z1 b 4 div CLW 2 div add def
+/Helvetica findfont b scalefont setfont /b b .95 mul CLW 2 div add def }
+if systemdict /setstrokeadjust known { true setstrokeadjust /t { } def }
+{ /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add
+exch itransform } bind def } ifelse gsave n 0 gt { 1 setlinecap [ 0 dy n
+div ] dy n div 2 div setdash } { 2 setlinecap } ifelse /i x1 def /f y1
+dy mul n 0 gt { dy n div 2 div h mul sub } if def /g y2 dy mul n 0 gt {
+dy n div 2 div h mul add } if def x2 x1 sub w mul 1 add dup 1000 gt {
+pop 1000 } if { i dx mul dup y0 moveto b 0 gt { gsave c i a cvs dup
+stringwidth pop /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse h 0 gt {b neg}
+{z1} ifelse rmoveto show grestore } if dup t f moveto g t L stroke /i i
+w add def } repeat grestore gsave n 0 gt
+% DG/SR modification begin - Nov. 7, 1997 - Patch 1
+%{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash }
+{ 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash }
+% DG/SR modification end
+{ 2 setlinecap } ifelse /i y1 def /f x1 dx mul
+n 0 gt { dx n div 2 div w mul sub } if def /g x2 dx mul n 0 gt { dx n
+div 2 div w mul add } if def y2 y1 sub h mul 1 add dup 1000 gt { pop
+1000 } if { newpath i dy mul dup x0 exch moveto b 0 gt { gsave c i a cvs
+dup stringwidth pop /z2 ED w 0 gt {z1 z2 add neg} {z1} ifelse h 0 gt
+{z1} {b neg} ifelse rmoveto show grestore } if dup f exch t moveto g
+exch t L stroke /i i h add def } repeat grestore } def
+/ArcArrow { /d ED /b ED /a ED gsave newpath 0 -1000 moveto clip newpath 0
+1 0 0 b grestore c mul /e ED pop pop pop r a e d PtoC y add exch x add
+exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c
+mul neg d } def
+/Ellipse { /mtrx CM def T scale 0 0 1 5 3 roll arc mtrx setmatrix } def
+/Rot { CP CP translate 3 -1 roll neg rotate NET } def
+/RotBegin { tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 }
+def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngle
+dup a add ] cvx def } def
+/RotEnd { /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ]
+cvx def } def
+/PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def
+/PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def
+/PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def
+/Uput { /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s
+abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b
+div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } {
+h1 abs h sub dup s mul abs } ifelse } def
+/UUput { /z ED abs /y ED /x ED q { x s div c mul abs y gt } { x c div s
+mul abs y gt } ifelse { x x mul y y mul sub z z mul add sqrt z add } { q
+{ x s div } { x c div } ifelse abs } ifelse a PtoC h1 add exch w1 add
+exch } def
+/BeginOL { dup (all) eq exch TheOL eq or { IfVisible not { Visible
+/IfVisible true def } if } { IfVisible { Invisible /IfVisible false def
+} if } ifelse } def
+/InitOL { /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def
+/Visible { CP OLUnit idtransform T moveto } def /Invisible { CP OLUnit
+neg exch neg exch idtransform T moveto } def /BOL { BeginOL } def
+/IfVisible true def } def
+end
+% END pstricks.pro
+
+%%EndProcSet
+%%BeginProcSet: pst-dots.pro 0 0
+%!PS-Adobe-2.0
+%%Title: Dot Font for PSTricks
+%%Creator: Timothy Van Zandt <tvz@Princeton.EDU>
+%%Creation Date: May 7, 1993
+%% Version 97 patch 1, 99/12/16
+%% Modified by Etienne Riga <etienne.riga@skynet.be> - Dec. 16, 1999
+%% to add /Diamond, /SolidDiamond and /BoldDiamond
+10 dict dup begin
+ /FontType 3 def
+ /FontMatrix [ .001 0 0 .001 0 0 ] def
+ /FontBBox [ 0 0 0 0 ] def
+ /Encoding 256 array def
+ 0 1 255 { Encoding exch /.notdef put } for
+ Encoding
+ dup (b) 0 get /Bullet put
+ dup (c) 0 get /Circle put
+ dup (C) 0 get /BoldCircle put
+ dup (u) 0 get /SolidTriangle put
+ dup (t) 0 get /Triangle put
+ dup (T) 0 get /BoldTriangle put
+ dup (r) 0 get /SolidSquare put
+ dup (s) 0 get /Square put
+ dup (S) 0 get /BoldSquare put
+ dup (q) 0 get /SolidPentagon put
+ dup (p) 0 get /Pentagon put
+ dup (P) 0 get /BoldPentagon put
+% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga
+ dup (l) 0 get /SolidDiamond put
+ dup (d) 0 get /Diamond put
+ (D) 0 get /BoldDiamond put
+% DG/SR modification end
+ /Metrics 13 dict def
+ Metrics begin
+ /Bullet 1000 def
+ /Circle 1000 def
+ /BoldCircle 1000 def
+ /SolidTriangle 1344 def
+ /Triangle 1344 def
+ /BoldTriangle 1344 def
+ /SolidSquare 886 def
+ /Square 886 def
+ /BoldSquare 886 def
+ /SolidPentagon 1093.2 def
+ /Pentagon 1093.2 def
+ /BoldPentagon 1093.2 def
+% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga
+ /SolidDiamond 1008 def
+ /Diamond 1008 def
+ /BoldDiamond 1008 def
+% DG/SR modification end
+ /.notdef 0 def
+ end
+ /BBoxes 13 dict def
+ BBoxes begin
+ /Circle { -550 -550 550 550 } def
+ /BoldCircle /Circle load def
+ /Bullet /Circle load def
+ /Triangle { -571.5 -330 571.5 660 } def
+ /BoldTriangle /Triangle load def
+ /SolidTriangle /Triangle load def
+ /Square { -450 -450 450 450 } def
+ /BoldSquare /Square load def
+ /SolidSquare /Square load def
+ /Pentagon { -546.6 -465 546.6 574.7 } def
+ /BoldPentagon /Pentagon load def
+ /SolidPentagon /Pentagon load def
+% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga
+ /Diamond { -428.5 -742.5 428.5 742.5 } def
+ /BoldDiamond /Diamond load def
+ /SolidDiamond /Diamond load def
+% DG/SR modification end
+ /.notdef { 0 0 0 0 } def
+ end
+ /CharProcs 20 dict def
+ CharProcs begin
+ /Adjust {
+ 2 copy dtransform floor .5 add exch floor .5 add exch idtransform
+ 3 -1 roll div 3 1 roll exch div exch scale
+ } def
+ /CirclePath { 0 0 500 0 360 arc closepath } def
+ /Bullet { 500 500 Adjust CirclePath fill } def
+ /Circle { 500 500 Adjust CirclePath .9 .9 scale CirclePath
+ eofill } def
+ /BoldCircle { 500 500 Adjust CirclePath .8 .8 scale CirclePath
+ eofill } def
+ /BoldCircle { CirclePath .8 .8 scale CirclePath eofill } def
+ /TrianglePath { 0 660 moveto -571.5 -330 lineto 571.5 -330 lineto
+ closepath } def
+ /SolidTriangle { TrianglePath fill } def
+ /Triangle { TrianglePath .85 .85 scale TrianglePath eofill } def
+ /BoldTriangle { TrianglePath .7 .7 scale TrianglePath eofill } def
+ /SquarePath { -450 450 moveto 450 450 lineto 450 -450 lineto
+ -450 -450 lineto closepath } def
+ /SolidSquare { SquarePath fill } def
+ /Square { SquarePath .89 .89 scale SquarePath eofill } def
+ /BoldSquare { SquarePath .78 .78 scale SquarePath eofill } def
+ /PentagonPath {
+ -337.8 -465 moveto
+ 337.8 -465 lineto
+ 546.6 177.6 lineto
+ 0 574.7 lineto
+ -546.6 177.6 lineto
+ closepath
+ } def
+ /SolidPentagon { PentagonPath fill } def
+ /Pentagon { PentagonPath .89 .89 scale PentagonPath eofill } def
+ /BoldPentagon { PentagonPath .78 .78 scale PentagonPath eofill } def
+% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga
+ /DiamondPath { 0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto
+ 428.5 0 lineto closepath } def
+ /SolidDiamond { DiamondPath fill } def
+ /Diamond { DiamondPath .85 .85 scale DiamondPath eofill } def
+ /BoldDiamond { DiamondPath .7 .7 scale DiamondPath eofill } def
+% DG/SR modification end
+ /.notdef { } def
+ end
+ /BuildGlyph {
+ exch
+ begin
+ Metrics 1 index get exec 0
+ BBoxes 3 index get exec
+ setcachedevice
+ CharProcs begin load exec end
+ end
+ } def
+ /BuildChar {
+ 1 index /Encoding get exch get
+ 1 index /BuildGlyph get exec
+ } bind def
+end
+/PSTricksDotFont exch definefont pop
+%END pst-dots.pro
+
+%%EndProcSet
+%%BeginProcSet: special.pro 0 0
+%!
+TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
+/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
+/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
+/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
+/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
+X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
+/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
+/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
+{userdict/md get type/dicttype eq{userdict begin md length 10 add md
+maxlength ge{/md md dup length 20 add dict copy def}if end md begin
+/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
+atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
+itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
+transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
+curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
+pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
+if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
+-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
+get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
+yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
+neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
+noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
+90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
+neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
+1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
+2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
+-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
+TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
+Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
+}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState
+save N userdict maxlength dict begin/magscale true def normalscale
+currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts
+/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x
+psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx
+psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub
+TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def
+@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll
+newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto
+closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N
+/@beginspecial{SDict begin/SpecialSave save N gsave normalscale
+currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}
+N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs
+neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate
+rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse
+scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg
+lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx
+ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N
+/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{
+pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave
+restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B
+/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1
+setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY
+moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix
+matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc
+savematrix setmatrix}N end
+
+%%EndProcSet
+TeXDict begin 40258437 52099154 1000 600 600 (test.dvi)
+@start end
+%%EndProlog
+%%BeginSetup
+%%Feature: *Resolution 600dpi
+TeXDict begin
+ end
+%%EndSetup
+TeXDict begin 1 0 bop 0 setgray 0 setgray 1 setgray 639
+443 1783 4 v 639 2191 4 1749 v 1517 1317 a @beginspecial
+@setspecial
+ tx@Dict begin STP newpath 0.8 SLW 0. setgray /ArrowA { moveto } def
+/ArrowB { } def /t 0 def /t1 3600 def /dt t1 t sub 999 div def /xy
+{ t dup cos 1000 div mul t dup sin 1000 div mul 28.45274 mul exch 28.45274
+mul exch } def xy moveto 999 1 sub { /t t dt add def xy L } repeat
+/t t1 def xy L gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore
+end
+
+@endspecial 2418 2191 V 639 2194 1783 4
+v 0 setgray 1 setgray eop end
+%%Trailer
+
+userdict /end-hook known{end-hook}if
+%%EOF
diff --git a/Master/texmf-dist/doc/generic/pst-grad/Changes b/Master/texmf-dist/doc/generic/pst-grad/Changes
new file mode 100644
index 00000000000..4d49656c304
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-grad/Changes
@@ -0,0 +1,14 @@
+pst-grad.sty --------
+ 2006-08-01 message for loading the pro file
+
+pst-grad.tex --------
+v 1.05 2006/11/04 integrate the GradientHSB from package
+ pst-ghsb, which is now obsolete (hv)
+v 1.00 2006/08/13 use pst-xkey for key handling (hv)
+
+pst-grad.pro --------
+v 1.05 2006/11/04 integrate the GradientHSB from package
+ pst-ghsb, which is now obsolete (hv)
+
+pst-grad-doc.tex --------
+2006-11-04 updated \ No newline at end of file
diff --git a/Master/texmf-dist/doc/generic/pst-grad/README b/Master/texmf-dist/doc/generic/pst-grad/README
new file mode 100644
index 00000000000..c6f9ec9c72f
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-grad/README
@@ -0,0 +1,12 @@
+pst-grad: gradient color fillings
+
+pst-grad.sty - The LaTeX file
+pst-grad.tex - The TeX file
+pst-grad.pro - The dvips header file
+pst-grad-doc.tex - The documentation, source file
+pst-grad-doc.bib - The documentation, bibtex data file
+pst-grad-doc.pdf - The documentation, pdf
+
+
+--
+Herbert Voss 2006-11-01
diff --git a/Master/texmf-dist/doc/generic/pst-grad/pst-grad-doc.bib b/Master/texmf-dist/doc/generic/pst-grad/pst-grad-doc.bib
new file mode 100644
index 00000000000..574da56412a
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-grad/pst-grad-doc.bib
@@ -0,0 +1,204 @@
+%% -*-bibtex-*-
+@STRING{tugboat = {TUGboat} }
+@STRING{dtk = {{D}ie {\TeX}nische {K}om{\"o}die} }
+
+@Book{companion,
+ author = {Michel Goosens and Frank Mittelbach and Alexander
+ Samarin},
+ title = {The {\LaTeX} {G}raphics {C}ompanion},
+ publisher = {{Addison-Wesley Publishing Company}},
+ year = {1997},
+ address = {Reading, Mass.}
+}
+
+@Article{girou:01:,
+ author = {Denis Girou},
+ title = {Pr\'esentation de {PST}ricks},
+ journal = {Cahier {GUT}enberg},
+ year = 1994,
+ volume = {16},
+ month = apr,
+ pages = {21-70}
+}
+
+@Article{girou:02:,
+ author = {{Timothy van} Zandt and Denis Girou},
+ title = {Inside {PST}ricks},
+ journal = TUGboat,
+ year = 1994,
+ volume = {15},
+ month = sep,
+ pages = {239-246}
+}
+
+@Book{PostScript,
+ Author = {Kollock, Nikolai G.},
+ Title = {Post{S}cript richtig eingesetzt: vom {K}onzept zum
+ praktischen {E}insatz},
+ Publisher = {IWT},
+ Address = {Vaterstetten},
+ year = 1989,
+}
+
+@Manual{pstricks,
+ Title = {PSTricks - {\PS} macros for generic {\TeX}},
+ Author = {{Timothy van} Zandt},
+ Organization = {},
+ Address = {\url{http://www.tug.org/application/PSTricks}},
+ Note = {},
+ year = 1993
+}
+
+@Manual{pst-eps,
+ Title = {\texttt{pst-eps}: Exporting eps images},
+ Author = {{Timothy van} Zandt},
+ Organization = {},
+ Address = {\url{CTAN:graphics/pstricks/generic/}},
+ Note = {},
+ year = 1999
+}
+
+@Manual{multido,
+ Title = {\texttt{multido.tex} - a loop macro, that supports fixed-point addition},
+ Author = {{Timothy van} Zandt},
+ Organization = {},
+ Address = {\url{CTAN:/graphics/pstricks/generic/multido.tex}},
+ Note = {},
+ year = 1997
+}
+
+@Book{PSTricks2,
+ author = {Herbert Vo\ss{}},
+ title = {\texttt{PSTricks} -- {G}rafik f\"ur \TeX{} und \LaTeX},
+ edition = {third},
+ publisher = {DANTE -- Lehmanns},
+ year = {2006},
+ address = {Heidelberg/Hamburg}
+}
+
+@Manual{pst-code,
+ Title = {{PST}ricks - {\PS} macros for {G}eneric \TeX, {D}ocumented {Code}},
+ Author = {Timothy {V}an Zandt},
+ Organization = {},
+ Address = {\url{CTAN:/graphics/pstricks/obsolete/doc/src/pst-code.tex}},
+ Note = {},
+ year = 1997,
+}
+
+@Manual{references,
+ Title = {References for {\TeX{}} and {F}riends},
+ Author = {Michael Wiedmann},
+ Organization = {},
+ Address = {\url{http://www.miwie.org/tex-refs/}},
+ Note = {},
+ year = 2004,
+}
+
+@Manual{keyval,
+ Title = {The \texttt{keyval} - package},
+ Author = {D. P. Carlisle and S. P. Q. Rahtz},
+ Organization = {},
+ Address = {\url{CTAN:/macros/latex/required/graphics/keyval.dtx}},
+ Note = {},
+ year = 2001,
+}
+
+@Manual{xkeyval,
+ Title = {The \texttt{xkeyval} - package},
+ Author = {Hendri Adriaens},
+ Organization = {},
+ Address = {\url{CTAN:/macros/latex/contrib/xkeyval/}},
+ Note = {},
+ year = 2004,
+}
+
+@Manual{darmstadt,
+ Title = {{\PST} - mehr als nur ein alter Hut},
+ Author = {Rolf Niepraschk and Herbert Vo{\ss}},
+ Organization = {{DANTE} 2004 in {D}armstadt},
+ Address = {\url{http://PSTricks.de/docs/Darmstadt2004.pdf}},
+ Note = {},
+ year = 2004,
+}
+
+@Manual{pst-node,
+ Title = {The \texttt{pst-plot} - package},
+ Author = {{Timothy Van} Zandt},
+ Organization = {},
+ Address = {\url{CTAN: /graphics/pstricks/generic/}},
+ Note = {},
+ year = 2004,
+}
+
+@Manual{pstricks-add,
+ Title = {The \texttt{pstricks-add} - package},
+ Author = {Herbert Vo{\ss}},
+ Organization = {},
+ Address = {\url{CTAN: /graphics/pstricks/contrib/pstricks-add/}},
+ Note = {},
+ year = 2004,
+}
+
+@Article{dtk02.2:jackson.voss,
+ author = {Laura E. Jackson and Herbert Vo{\ss}},
+ title = {Die Plot-Funktionen von {\texttt{pst-plot}}},
+ journal = dtk,
+ year = 2002,
+ volume = {2/02},
+ altvolume = 2,
+ altnumber = 14,
+ month = jun,
+ pages = {27--34},
+ annote = bretter,
+ keywords = {},
+ abstract = { Im letzten Heft wurden die mathematischen Funktionen von
+ \PS~im Zusammenhang mit dem {\LaTeX}-Paket
+ \texttt{pst-plot} zum Zeichnen von Funktionen beschrieben
+ und durch Beispiele erl{\"a}utert. In diesem Teil werden
+ die bislang nur erw{\"a}hnten Plot-Funktionen f{\"u}r
+ externe Daten behandelt. }
+}
+
+@Article{tugboat:vossjh:01,
+ author = {Herbert Vo{\ss} and Jana Vo\ss},
+ title = {The plot functions of \texttt{pst-plot}},
+ journal = {TUGboat},
+ year = {2001},
+ volume = {22-4},
+ month = dec,
+ pages = {314-318}
+}
+
+@Article{tugboat:voss:01,
+ author = {Herbert Vo\ss},
+ title = {Three dimensional plots with \texttt{pst-3dplot}},
+ journal = {TUGboat},
+ year = {2001},
+ volume = {22-4},
+ month = dec,
+ pages = {319}
+}
+
+@Article{rahtz:96-1,
+ author = {Sebastian Rahtz},
+ title = {An introduction to {PST}ricks, part {I}},
+ journal = {Baskerville},
+ address = {\url{CTAN: /usergrps/uktug/baskervi/}},
+ year = 1996,
+ volume = 6,
+ number = 1,
+ month = feb,
+ pages = {22-34}
+}
+@Article{rahtz:96-2,
+ author = {Sebastian Rahtz},
+ title = {An introduction to {PST}ricks, part {II}},
+ journal = {Baskerville},
+ address = {\url{CTAN: /usergrps/uktug/baskervi/}},
+ year = 1996,
+ volume = 6,
+ number = 2,
+ month = apr,
+ pages = {23-33}
+}
+
diff --git a/Master/texmf-dist/doc/generic/pst-grad/pst-grad-doc.pdf b/Master/texmf-dist/doc/generic/pst-grad/pst-grad-doc.pdf
new file mode 100644
index 00000000000..c9a7b2111df
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-grad/pst-grad-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pst-grad/pst-grad-doc.tex b/Master/texmf-dist/doc/generic/pst-grad/pst-grad-doc.tex
new file mode 100644
index 00000000000..8eb17bb9aca
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-grad/pst-grad-doc.tex
@@ -0,0 +1,429 @@
+\documentclass[english]{article}
+%
+\usepackage[T1]{fontenc}
+\usepackage[latin9]{inputenc}
+\listfiles
+\usepackage[scaled]{luximono}
+\usepackage{lmodern}
+\usepackage{xspace,setspace,caption}
+\usepackage[bottom]{footmisc}
+\usepackage{tabularx,amsmath,eurosym}
+\usepackage{longtable}
+\usepackage[NewCommands,NewParameters]{ragged2e}
+\usepackage[dvipsnames]{pstricks}
+\usepackage{pst-text,pst-grad}
+\let\GRADfileversion\fileversion
+\let\GRADfiledate\filedate
+\usepackage{graphicx,multido,framed}
+\definecolor{hellgelb}{rgb}{1,1,0.8}
+\makeatletter
+\newcount\pst@cntm%
+\newcount\pst@cntn%
+\newcount\pst@cnto%
+\newcount\pst@cntp%
+\def\modulo#1#2#3{%
+ \begingroup%
+ \pst@cntm=#1\pst@cntn=#2\relax%
+ \pst@cnto=\pst@cntm%
+ \divide\pst@cntm by \pst@cntn%
+ \multiply\pst@cntn by \pst@cntm%
+ \advance\pst@cnto by -\pst@cntn%
+ \edef\value{\endgroup\def\noexpand#3{\number\pst@cnto}}\value%
+}
+\makeatother
+%
+\def\PST{{\texttt{PSTricks}}\xspace}
+\def\PDF{{\texttt{PDF}}\xspace}
+\def\pst{{\texttt{pstricks}}\xspace}
+\def\PS{PostScript\xspace}
+\newcommand*\CMD[1]{{\UrlFont\texttt{\textbackslash #1}}}
+%
+\def\tIndex#1{\index{#1@{\UrlFont\texttt{#1}}}}
+\def\cIndex#1{\index{#1@\CMD{#1}}}
+\def\pIndex#1{\index{Parameter@\textbf{Parameter}!{\UrlFont\texttt{#1}}}}
+\def\ppIndex#1{\index{Parameter@\textbf{Parameter}!{#1}}}
+\def\sIndex#1{\index{Syntax@\textbf{Syntax}!\CMD{#1}}}
+\def\csIndex#1{\sIndex{#1}\cIndex{#1}}
+\def\PIndex#1{\index{Paket@\textbf{Paket}!\texttt{#1}}}
+\def\mIndex#1{\texttt{#1}\tIndex{#1}\pIndex{#1}}
+%
+\pretolerance=500
+\tolerance=1000
+\hbadness=3000
+\vbadness=3000
+\hyphenpenalty=400
+
+\usepackage{showexpl}% not a real PSTricks package
+\usepackage{babel}
+\usepackage{makeidx}
+\makeindex
+\usepackage[dvips,colorlinks,linktocpage]{hyperref} % PDF-support
+%
+\renewcommand{\ttdefault}{ul9}% Luxi Mono
+\lstset{keywordstyle=\small\ttfamily\bfseries,preset=\raggedright}
+\lstset{language=PSTricks,moredelim=**[is][\bf\color{blue}]{§}{§}}%
+%
+
+\begin{document}
+%
+\title{\texttt{pst-grad}:Gradients \\[10pt]\footnotesize v. \GRADfileversion\ -- \GRADfiledate}
+\author{Herbert Voß\thanks{Thanks to Lars Kotthoff and Angelo Rossi for translating this documentation!}
+}
+\maketitle
+
+\begin{abstract}
+\PIndex{pst-grad}\tIndex{pst-grad}\verb+pst-grad+
+is also one of the older and smaller
+packages. It provides only one fill style. A
+gradient could be created with the macros known from \PST, too, the use of
+\verb+pst-grad+ offers advantages though, since one does not need to take care
+of the calculation of the intermediate colour values.
+
+This version of \verb+pst-grad+ integrates the function of the
+\verb+pst-ghsb+ package, which supports the HSB color model.
+
+\end{abstract}
+
+\tableofcontents
+
+\clearpage
+
+\section{Introduction}
+
+
+All parameters are only available when \textbf{gradient} is used as
+ fill style.
+There are further packages which support such fill styles, especially for
+circular gradients (\verb+pst-slpe+\PIndex{pst-slpe}).
+
+
+% ---------------------------------------------------------------------------------------
+\section{Parameters}\label{sec:pstgrad:parameter}
+% ---------------------------------------------------------------------------------------
+Table~\ref{tab:pst-grad:parameter} shows a compilation of the special parameters
+valid for \verb+pst-grad+.
+
+\begin{longtable}{>{\ttfamily}l>{\ttfamily}l>{\ttfamily}l}
+\caption{Summary of all parameters for \texttt{pst-grad} and
+\texttt{pst-ghsb}}\label{tab:pst-grad:parameter}\\[-5pt]
+\textrm{name} & \textrm{values} & \textrm{default}\\\hline
+\endfirsthead
+\textrm{name} & \textrm{values} & \textrm{default}\\\hline
+\endhead
+gradbegin & <colour> & gradbegin\\
+gradend & <colour> & gradend\\
+gradlines & <value> & 500\\
+gradmidpoint & <value> & 0.9\\
+gradangle & <angle> & 0\\
+gradientHSB & false|true & false\\
+GradientCircle& false|true & false\\
+GradientScale & <value> & 1.0\\
+GradientPos & <(x,y)> & (0,0)\\
+\end{longtable}
+\tIndex{gradbegin}\tIndex{gradend}\tIndex{gradlines}\tIndex{gradmidpoint}\tIndex{gradangle}
+\pIndex{gradbegin}\pIndex{gradend}\pIndex{gradlines}\pIndex{gradmidpoint}\pIndex{gradangle}
+\tIndex{gradientHSB}\pIndex{gradientHSB}%
+\tIndex{GradientCircle}\pIndex{GradientCircle}%
+\tIndex{GradientPos}\pIndex{GradientPos}%
+\tIndex{GradientScale}\pIndex{GradientScale}
+
+
+% ---------------------------------------------------------------------------------------
+\subsection{\texttt{gradbegin}}\label{subsec:pstgrad:gradbegin}
+% ---------------------------------------------------------------------------------------
+\tIndex{gradbegin}\verb+gradbegin+ denotes the parameter as well as the starting
+colour, which is a little bit confusing here.
+\begin{verbatim}
+\newrgbcolor{gradbegin}{0 .1 .95} % default
+\end{verbatim}
+
+Consequently this starting colour can be changed by redefining the colour or by
+an assignment through the parameter.
+\begin{verbatim}
+\newrgbcolor{gradbegin}{0 0 1}
+\definecolor{rgb}{gradbegin}{0 0 1} % requires color/xcolor package
+\psset{gradbegin=blue}
+\end{verbatim}
+
+
+\medskip\noindent
+\begin{LTXexample}[width=5cm]
+\begin{pspicture}(5,3.5)
+\psframe[fillstyle=gradient,gradbegin=white](5,1.5)
+\newrgbcolor{gradbegin}{0 1 1}
+\psframe[fillstyle=gradient](0,2)(5,3.5)
+\end{pspicture}
+\end{LTXexample}
+
+
+\medskip
+%\begin{shaded}
+\begin{itemize}
+ \item \verb+gradbegin+ should be defined as \verb+RGB+ colour\tIndex{RGB},
+ since a faultless function for \verb+CMYK+ or gray scales is not
+ warranted in every case.
+\item Con\TeX{}t users change the colour with\\
+ \verb+\definecolor{rgb}{gradbegin}{r=0,g=0,b=1}+
+\end{itemize}
+%\end{shaded}
+
+
+
+% ---------------------------------------------------------------------------------------
+\subsection{\texttt{gradend}}\label{subsec:pstgrad:gradend}
+% ---------------------------------------------------------------------------------------
+\tIndex{gradend}\verb+gradend+ is \textbf{not} the counterpart to
+\verb+gradbegin+, for it is the colour which is reached at the relative point
+\verb+gridmidpoint+. In every case it is ambiguous as \verb+gradbegin+ again.
+\begin{verbatim}
+\newrgbcolor{gradend}{0 1 1} % default
+\end{verbatim}
+
+
+Changes can be made differently again.
+\begin{verbatim}
+\newrgbcolor{gradend}{1 0 0}
+\definecolor{rgb}{gradend}{1 0 0} % requires color/xcolor package
+\psset{gradend=red}
+\end{verbatim}
+
+
+\medskip\noindent
+\begin{LTXexample}[width=5cm]
+\begin{pspicture}(5,3.5)
+\psframe[fillstyle=gradient,gradend=white](5,1.5)
+\newrgbcolor{gradend}{1 0 0}
+\psframe[fillstyle=gradient](0,2)(5,3.5)
+\end{pspicture}
+\end{LTXexample}
+
+
+\medskip
+%\begin{shaded}
+\begin{itemize}
+ \item \verb+gradend+ should be defined as \verb+RGB+ colour\tIndex{RGB},
+ since a faultless function for \verb+CMYK+ or gray scales is not
+ warranted in every case.
+\item Con\TeX{}t users change the colour with\\
+\verb+\definecolor{rgb}{gradend}{r=1,g=1,b=0}+
+\end{itemize}
+%\end{shaded}
+
+
+
+% ---------------------------------------------------------------------------------------
+\subsection{\texttt{gradlines}}\label{subsec:pstgrad:gradlines}
+% ---------------------------------------------------------------------------------------
+\tIndex{gradlines}A gradient is nothing but a string of coloured lines. The
+width of those depends only on the resolution of the monitor resp. the printer
+in the end. But since this is very user-specific, \verb+pst-grad+ allows any
+number of lines, which can be changed through \verb+gradlines+.
+
+
+
+\medskip\noindent
+\begin{LTXexample}[width=5cm]
+\begin{pspicture}(5,4)
+\psset{fillstyle=gradient,linestyle=none}
+\psframe[gradlines=5](5,1)
+\psframe(0,1.5)(5,2.5)
+\psframe[gradlines=1000](0,3)(5,4)
+\end{pspicture}
+\end{LTXexample}
+
+
+
+
+% ---------------------------------------------------------------------------------------
+\subsection{\texttt{gradmidpoint}}\label{subsec:pstgrad:gradmidpoint}
+% ---------------------------------------------------------------------------------------
+\tIndex{gradmidpoint}Denotes the relative point where the colour \verb+gradend+
+is reached. Then it is proceeded in reverse order.
+
+
+\medskip\noindent
+\begin{LTXexample}[width=5cm]
+\begin{pspicture}(5,4)
+\psset{fillstyle=gradient,linestyle=none}
+\psframe[gradmidpoint=0](5,1)
+\psframe[gradmidpoint=0.5](0,1.5)(5,2.5)
+\psframe[gradmidpoint=1](0,3)(5,4)
+\end{pspicture}
+\end{LTXexample}
+
+
+
+% ---------------------------------------------------------------------------------------
+\subsection{\texttt{gradangle}}\label{subsec:pstgrad:gradangle}
+% ---------------------------------------------------------------------------------------
+\tIndex{gradangle}\verb+gradangle+ determines the gradient angle of the straight
+line.
+
+\medskip\noindent
+\begin{LTXexample}[width=5cm]
+\begin{pspicture}(5,4)
+\psset{fillstyle=gradient,linestyle=none,gradmidpoint=0.5}
+\psframe[gradangle=0](5,1)
+\psframe[gradangle=45](0,1.5)(5,2.5)
+\psframe[gradangle=90](0,3)(5,4)
+\end{pspicture}
+\end{LTXexample}
+
+% ---------------------------------------------------------------------------------------
+\subsection{\texttt{GradientCircle}, \texttt{GradientScale} and \texttt{GradientPos} }\label{subsec:pstgrad:GradientCircle}
+% ---------------------------------------------------------------------------------------
+\tIndex{GradientCircle}\tIndex{GradientScale}\tIndex{GradientPos}With the option
+\verb+GradientCircle+ circular gradients can be created. The radius can be
+influenced through \verb+GradientScale+ and the centre with \verb+GradientPos+.
+The specification of the coordinates refers to the based coordinate system,
+which is given by the \verb+pspicture+ environment as a rule.
+
+\medskip\noindent
+\begin{LTXexample}[width=5cm]
+\begin{pspicture}(5,4)
+\psset{fillstyle=gradient,linestyle=none}
+\psframe[GradientCircle=true](5,1)%
+\psframe[GradientCircle=true,GradientScale=3](0,1.5)(5,2.5)%
+\psframe[GradientCircle=true,GradientScale=2,%
+ GradientPos={(4,3.5)}](0,3)(5,4)%
+\end{pspicture}
+\end{LTXexample}
+
+\vspace{1cm}
+\begin{center}
+\bgroup
+\DeclareFixedFont{\RM}{T1}{ptm}{b}{n}{3cm}
+\DeclareFixedFont{\Rm}{T1}{ptm}{m}{n}{2mm}
+
+\psset{fillstyle=gradient,gradbegin=red,gradend=white}
+\begin{pspicture}(\linewidth,3cm)
+\resizebox{\linewidth}{!}{\pscharpath[gradangle=90]{\RM PostScript}}
+\end{pspicture}\\
+\begin{pspicture}(\linewidth,3cm)
+\resizebox{\linewidth}{!}{\pscharpath[gradangle=0]{\RM PostScript}}
+\end{pspicture}\\
+\begin{pspicture}(\linewidth,3cm)
+\resizebox{\linewidth}{!}{\pscharpath[gradmidpoint=0,gradangle=90]{\RM PostScript}}
+\end{pspicture}
+\egroup
+\captionof{figure}{Shadow games\ldots}
+\end{center}
+
+
+\clearpage
+\subsection{\texttt{GradientHSB}}\label{subsec:pstgrad:gradientHSB}
+
+\medskip\noindent
+\begin{LTXexample}[width=5.5cm]
+\newcommand{\Fig}[1][]{%
+\begin{pspicture}(5.5,5.5)
+ \psframe[#1](5,5)
+\end{pspicture}}
+\newhsbcolor{ColorA}{0 0 0.7}
+\newhsbcolor{ColorB}{0 1 0.7}
+\newhsbcolor{ColorC}{.5 0.8 0}
+\newhsbcolor{ColorD}{.5 0.8 1}
+\psset{fillstyle=gradient,gradientHSB=true}
+\Fig[gradmidpoint=1,gradbegin=ColorA,gradend=ColorB]
+\Fig[gradmidpoint=0.5,gradbegin=ColorC,gradend=ColorD]
+\end{LTXexample}
+
+
+\newcommand{\Fig}[1][]{%
+\begin{pspicture}(5.5,5.5)
+ \psframe[#1](5,5)
+\end{pspicture}}
+\definecolor{ColorA}{hsb}{0.7, 0.1, 0.8}
+\definecolor{ColorB}{hsb}{0.7, 0.9, 0.8}
+\definecolor{ColorC}{hsb}{0, 0, 0}
+\definecolor{ColorD}{hsb}{0, 0, 1}
+\definecolor{ColorE}{hsb}{0, 0, 0.5}
+\definecolor{ColorF}{hsb}{0, 1, 0.5}
+\definecolor{ColorG}{hsb}{0, 0, 0.5}
+\definecolor{ColorH}{hsb}{0.99999, 0, 0.5} % As it's cycliç 1=0 !
+\definecolor{ColorI}{hsb}{1, 1, 1}
+\definecolor{ColorJ}{hsb}{1, 0, 0}
+\definecolor{ColorK}{hsb}{0.99999, 1, 1} % As it's cyclic 1=0 !
+\definecolor{ColorL}{hsb}{0, 1, 0}
+\definecolor{ColorM}{hsb}{0.99999, 1, 1} % As it's cyclic 1=0 !
+\definecolor{ColorN}{hsb}{0, 0, 1}
+\definecolor{ColorO}{hsb}{0, 0.6, 0.7}
+\definecolor{ColorP}{hsb}{0.99999, 0.7, 0.7} % As it's cyclic 1=0 !
+\definecolor{ColorQ}{hsb}{0.3, 0, 0.8}
+\definecolor{ColorR}{hsb}{0.3, 1, 0.8}
+\definecolor{ColorS}{hsb}{0.6, 0.3, 0}
+\definecolor{ColorT}{hsb}{0.6, 0.3, 1}
+\psset{fillstyle=gradient,gradmidpoint=1}
+\Fig[gradbegin=yellow,gradend=green]
+\Fig[gradientHSB=true,gradbegin=ColorA,gradend=ColorB]
+
+\Fig[gradbegin=green,gradend=yellow]
+\psset{gradientHSB=true}
+\Fig[gradbegin=ColorC,gradend=ColorD]
+
+\Fig[gradbegin=ColorE,gradend=ColorF]
+\Fig[gradbegin=ColorG,gradend=ColorH]
+
+\Fig[gradbegin=ColorI,gradend=ColorJ]
+\Fig[gradbegin=ColorK,gradend=ColorL]
+
+\Fig[gradbegin=ColorM,gradend=ColorN]
+\Fig[gradbegin=ColorO,gradend=ColorP]
+
+\Fig[gradbegin=ColorQ,gradend=ColorR]
+\Fig[gradbegin=ColorS,gradend=ColorT]
+
+\begin{lstlisting}
+\definecolor{ColorA}{hsb}{0.7, 0.1, 0.8}
+\definecolor{ColorB}{hsb}{0.7, 0.9, 0.8}
+\definecolor{ColorC}{hsb}{0, 0, 0}
+\definecolor{ColorD}{hsb}{0, 0, 1}
+\definecolor{ColorE}{hsb}{0, 0, 0.5}
+\definecolor{ColorF}{hsb}{0, 1, 0.5}
+\definecolor{ColorG}{hsb}{0, 0, 0.5}
+\definecolor{ColorH}{hsb}{0.99999, 0, 0.5} % As it's cycliç 1=0 !
+\definecolor{ColorI}{hsb}{1, 1, 1}
+\definecolor{ColorJ}{hsb}{1, 0, 0}
+\definecolor{ColorK}{hsb}{0.99999, 1, 1} % As it's cyclic 1=0 !
+\definecolor{ColorL}{hsb}{0, 1, 0}
+\definecolor{ColorM}{hsb}{0.99999, 1, 1} % As it's cyclic 1=0 !
+\definecolor{ColorN}{hsb}{0, 0, 1}
+\definecolor{ColorO}{hsb}{0, 0.6, 0.7}
+\definecolor{ColorP}{hsb}{0.99999, 0.7, 0.7} % As it's cyclic 1=0 !
+\definecolor{ColorQ}{hsb}{0.3, 0, 0.8}
+\definecolor{ColorR}{hsb}{0.3, 1, 0.8}
+\definecolor{ColorS}{hsb}{0.6, 0.3, 0}
+\definecolor{ColorT}{hsb}{0.6, 0.3, 1}
+\psset{fillstyle=gradient,gradmidpoint=1}
+\Fig[gradbegin=yellow,gradend=green]
+\Fig[gradientHSB=true,gradbegin=ColorA,gradend=ColorB]
+
+\Fig[gradbegin=green,gradend=yellow]
+\psset{gradientHSB=true}
+\Fig[gradbegin=ColorC,gradend=ColorD]
+
+\Fig[gradbegin=ColorE,gradend=ColorF]
+\Fig[gradbegin=ColorG,gradend=ColorH]
+
+\Fig[gradbegin=ColorI,gradend=ColorJ]
+\Fig[gradbegin=ColorK,gradend=ColorL]
+
+\Fig[gradbegin=ColorM,gradend=ColorN]
+\Fig[gradbegin=ColorO,gradend=ColorP]
+
+\Fig[gradbegin=ColorQ,gradend=ColorR]
+\Fig[gradbegin=ColorS,gradend=ColorT]
+\end{lstlisting}
+
+
+\nocite{*}
+\bgroup
+\raggedright
+\bibliographystyle{plain}
+\bibliography{\jobname}
+\egroup
+
+\printindex
+
+
+\end{document}