summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2007-04-09 00:38:50 +0000
committerKarl Berry <karl@freefriends.org>2007-04-09 00:38:50 +0000
commitbff92f08fb701e5e527b800881d7391aefab4a92 (patch)
tree537d9ecfc424000088f6922e354a677552dc37c5
parentf562db71034b1e5239dfe51fa3c3c0bb5a5bd8d5 (diff)
new package pst-fractal (5apr07)
git-svn-id: svn://tug.org/texlive/trunk@4137 c570f23f-e606-0410-a88d-b1316a301751
-rwxr-xr-xBuild/cdbuild/ctan2tds.pl1
-rwxr-xr-xBuild/tools/tpm-ctan-check2
-rwxr-xr-xMaster/texmf-dist/doc/generic/pst-fractal/Changes6
-rw-r--r--Master/texmf-dist/doc/generic/pst-fractal/README46
-rw-r--r--Master/texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.bib129
-rw-r--r--Master/texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.pdfbin0 -> 15304639 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.tex256
-rw-r--r--Master/texmf-dist/source/generic/pst-fractal/Makefile48
-rw-r--r--Master/texmf-dist/tex/generic/pst-fractal/pst-fractal.tex164
-rw-r--r--Master/texmf-dist/tex/latex/pst-fractal/pst-fractal.sty8
-rw-r--r--Master/texmf-dist/tpm/pst-fractal.tpm33
-rw-r--r--Master/texmf/lists/pst-fractal11
-rw-r--r--Master/texmf/tpm/collection-pstricks.tpm1
13 files changed, 704 insertions, 1 deletions
diff --git a/Build/cdbuild/ctan2tds.pl b/Build/cdbuild/ctan2tds.pl
index 4e72d9dd2ce..31d82670435 100755
--- a/Build/cdbuild/ctan2tds.pl
+++ b/Build/cdbuild/ctan2tds.pl
@@ -254,6 +254,7 @@ chdir $startdir || die "chdir($startdir) failed: $!";
'pst-eucl', "&MAKEpst",
'pst-fill', "&MAKEpst",
'pst-fr3d', "&MAKEpst",
+ 'pst-fractal', "&MAKEpst",
'pst-func', "&MAKEpst",
'pst-geo', "&MAKEpstgeo",
'pst-ghsb', "&MAKEpst",
diff --git a/Build/tools/tpm-ctan-check b/Build/tools/tpm-ctan-check
index ff1c95f3f51..3db69975fe3 100755
--- a/Build/tools/tpm-ctan-check
+++ b/Build/tools/tpm-ctan-check
@@ -86,7 +86,7 @@ my @WorkingTPM = qw(
prettyref preview probsoln procIAGssymp program protocol pseudocode
psfrag psnfss pspicture pst-2dplot pst-3d pst-3dplot pst-bar
pst-barcode pst-blur pst-dbicons pst-eps pst-eucl pst-fill
- pst-fr3d pst-func
+ pst-fr3d pst-fractal pst-func
pst-geo pst-grad pst-infixplot pst-labo
pst-lens pst-math pst-optic pst-osci pst-pdf pst-pdgr
pst-slpe pst-uml pst-vue3d
diff --git a/Master/texmf-dist/doc/generic/pst-fractal/Changes b/Master/texmf-dist/doc/generic/pst-fractal/Changes
new file mode 100755
index 00000000000..33204879dd4
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-fractal/Changes
@@ -0,0 +1,6 @@
+pst-fractal.sty --------
+0.01 2007-04-05 first CTAN version
+
+
+pst-fractal.tex --------
+0.03 2007-04-05 first CTAN version
diff --git a/Master/texmf-dist/doc/generic/pst-fractal/README b/Master/texmf-dist/doc/generic/pst-fractal/README
new file mode 100644
index 00000000000..bafa6bd17fb
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-fractal/README
@@ -0,0 +1,46 @@
+%% Package `pst-fractal.tex'
+%%
+%% Herbert Voss <voss _at_ pstricks.de> (Germany)
+%%
+%% 2007-04-05
+%%
+
+PSTricks offers excellent macros to insert more or less complex
+graphics into a document. pstricks.tex itself is the base for several
+other additional packages, which are mostly named pst-xxxx,
+like pst-fractal, which provides macros for the Julia and
+Mandelbrot set and the Sierpinski triangle.
+
+
+Save the files
+
+pst-fractal.sty
+pst-fractal.tex
+
+in any place, where latex or any other TeX program will find it.
+The pro file should go into $TEXMF$/dvips/pstricks/.
+
+pst-fractal uses the extended version of the keyval package. So
+be sure that you
+- have installed xkeyval with the special pst-xkey
+ (CTAN: tex-archive/macros/latex/contrib/xkeyval/)
+- do not load another package after pst-fractal, which loads
+ the old keyval.sty or pst-key.tex
+
+
+If you like to get the documentation file in another format run
+
+latex pst-fractal-doc.tex
+bibtex pst-fractal.doc
+latex pst-fractal-doc.tex
+dvips pst-fractal-doc.dvi
+
+to get a PostScript file. But pay attention, that the pst-fractal
+files are saved in the above mentioned way, before you run
+latex on the documentation file.
+
+The intermediate DVI file works only with viewers which can
+interprete the embedded PostScript code.
+
+For another PDF output read the Introduction from
+the documentation.
diff --git a/Master/texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.bib b/Master/texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.bib
new file mode 100644
index 00000000000..3b785845e22
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.bib
@@ -0,0 +1,129 @@
+@STRING{dtk = {{D}ie {\TeX}nische {K}om{\"o}die} }
+
+@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 = {\url{http://www.tug.org/application/PSTricks}},
+ Note = {},
+ year = 1993,
+}
+
+
+@Manual{pdftricks,
+ Title = {PSTricks Support for pdf},
+ Author = {Herbert Voss},
+ Organization = {},
+ Address = {\url{http://PSTricks.de/pdf/pdfoutput.phtml}},
+ Note = {},
+ year = 2002,
+}
+
+@Manual{miwi,
+ Title = {References for \TeX{} and Friends},
+ Author = {Michael Wiedmann and Peter Karp},
+ Organization = {},
+ Address = {\url{http://www.miwie.org/tex-refs/}},
+ Note = {},
+ year = 2003,
+}
+
+
+@Manual{pstlens:2001,
+ Title = {PST-lens - {\PS} macros for Generic TeX},
+ Author = {Denis Girou and Manuel Luque},
+ Organization = {},
+ Address = {\url{ftp://ftp.dante.de/tex-archive/graphics/pstricks/contrib/pst-lens/}},
+ Note = {},
+ year = 2001,
+}
+
+@Manual{vue3d:2002,
+ Title = {Vue en 3D},
+ Author = {Manuel Luque},
+ Organization = {},
+ Address = {\url{http://members.aol.com/Mluque5130/vue3d16112002.zip}},
+ Note = {},
+ year = 2002,
+}
+
+@Article{dtk02.2:jackson.voss:plot-funktionen,
+ author = {Laura E. Jackson and Herbert Vo{\ss}},
+ title = {Die {P}lot-{F}unktionen 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{dtk02.1:voss:mathematischen,
+ author = {Herbert Vo{\ss}},
+ title = {Die mathematischen {F}unktionen von {P}ostscript},
+ journal = dtk,
+ year = 2002,
+ volume = {1/02},
+ altvolume = 1,
+ altnumber = 14,
+ month = mar,
+ pages = {40-47},
+ annote = bretter,
+ keywords = {},
+ abstract = { \PS, faktisch genauso alt wie {\TeX}, ist im
+ Verh{\"a}ltnis dazu allgemein noch weniger bekannt, wenn es
+ darum geht zu beurteilen, was es denn nun im eigentlichen
+ Sinne ist. Au{\ss}erdem wird h{\"a}ufig vergessen, dass
+ sich mit den \PS-Funktionen viele Dinge erledigen lassen,
+ bei denen sonst auf externe Programme zur{\"u}ckgegriffen
+ wird. Dies wird im Folgenden f{\"u}r die mathematischen
+ Funktionen im Zusammenhang mit dem Paket \texttt{pst-plot}
+ gezeigt. }
+}
+
+
+@Book{companion,
+ author = {Michel Goosens and Frank Mittelbach and Alexander
+ Samarin},
+ title = {The {\LaTeX} {G}raphics {C}ompanion},
+ publisher = {{Addison-Wesley Publishing Company}},
+ year = {2004},
+ edition = {2.},
+ address = {Reading, Mass.}
+}
+
+@Book{PSTricks2,
+ author = {Herbert Vo\ss},
+ title = {\texttt{PSTricks} -- {G}rafik f\"ur \TeX{} und \LaTeX},
+ edition = {4.},
+ publisher = {DANTE -- Lehmanns},
+ year = {2007},
+ address = {Heidelberg/Hamburg}
+}
+
+@Book{voss:math,
+ author = {Herbert Vo\ss},
+ title = {\LaTeX\ in {M}athematik und {N}aturwissenschaften},
+ publisher = {{Franzis-Verlag}},
+ year = {2006},
+ address = {Poing}
+}
+
diff --git a/Master/texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.pdf b/Master/texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.pdf
new file mode 100644
index 00000000000..63725ffbc40
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.tex b/Master/texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.tex
new file mode 100644
index 00000000000..430f66d6eb5
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.tex
@@ -0,0 +1,256 @@
+\listfiles
+\documentclass[11pt,a4paper]{article}
+\usepackage[T1]{fontenc}
+\usepackage[latin1]{inputenc}
+\usepackage{amsmath}
+\usepackage{graphicx}
+\usepackage{geometry,lmodern}
+\usepackage{pstricks}
+\usepackage{showexpl}
+%\lstset{wide=true}
+\usepackage{pst-fractal}
+\let\myFV\fileversion
+\usepackage{url}
+\usepackage[bottom]{footmisc}
+\usepackage{fancyhdr}
+\usepackage{abstract}
+\pagestyle{fancy}
+\usepackage{url}
+\def\UrlFont{\small\ttfamily}
+\makeatletter
+\def\verbatim@font{\small\normalfont\ttfamily}
+\makeatother
+\lfoot{\small\ttfamily\jobname.tex}
+\cfoot{}
+\rfoot{\thepage}
+\renewcommand{\headrulewidth}{0pt}
+\renewcommand{\footrulewidth}{0pt}
+\let\myPart\part
+\renewcommand{\part}[1]{\clearpage\myPart{#1}}
+\newcommand{\PS}{PostScript}
+\newcommand\CMD[1]{\texttt{\textbackslash#1}}
+\psset{subgriddiv=0,gridlabels=7pt,gridcolor=black!15}
+\usepackage[pdfauthor={Herbert Voss},pdftitle={Fractals},linktocpage,colorlinks]{hyperref}
+%
+
+%
+\begin{document}
+\author{Herbert Voß\thanks{voss@perce.de}}
+\date{\today}
+\title{Fractals: pst-fractal v\myFV\\Documentation}
+
+\maketitle%
+\begin{abstract}
+The well known \verb+pstricks+ package offers excellent macros to insert more or less complex
+graphics into a document. \verb+pstricks+ itself is the base for several other additional packages,
+which are mostly named \verb+pst-xxxx+, like \verb+pst-fractal+.
+
+This version uses the extended keyval package \verb+xkeyval+, so be sure that you have installed
+this package together with the spcecial one \verb+pst-xkey+ for PSTricks. The \verb+xkeyval+
+package is available at \href{ftp://ftp.dante.de/pub/tex/macros/latex/contrib/xkeyval/}{CTAN:/macros/latex/contrib/xkeyval/}.
+It is also important that after \verb+pst-fractal+ no package is loaded, which uses the old keyval interface.
+
+The fractals are really big, which is the reason why this document is about 15 MByte.
+\vspace*{2cm}
+\end{abstract}%
+
+\tableofcontents
+
+
+\section{Julia and Mandelbrot sets}
+
+The syntax of the \verb+psfractal+ macro is simple
+\begin{verbatim}
+\psfractal[settings](x0,y0)(x1,y1)
+\end{verbatim}
+All Arguments are optional, \verb+psfractal+ is the same as \verb+\psfractal(-1,-1)(1,1)+.
+
+The Julia and Mandelbrot sets are a graphical representation of the following sequence
+
+$x$ is the real and $y$ the imaginary part of the complex number $z$. $C(x,y)$ is a complex constant
+and preset by $(0,0)$.
+\begin{align}
+z_{n+1}(x,y) &= (z_n(x,y))^2 +C(x,y)\\
+\end{align}
+
+\subsection{Julia sets}
+
+A Julia set is given with
+
+\begin{align}
+z_{n+1}(x,y) &= (z_n(x,y))^2 +C(x,y)\\
+z_0 &= (x_0;y_0)
+\end{align}
+$(x_0;y_0)$ is the starting value.
+
+
+\begin{LTXexample}[width=3cm]
+\psfractal
+\end{LTXexample}
+
+\begin{LTXexample}[width=5cm]
+\psfractal[xWidth=5cm,yWidth=5cm,
+ baseColor=white,
+ dIter=20](-2,-2)(2,2)
+\end{LTXexample}
+
+
+\subsection{Mandelbrot sets}
+
+A Mandelbrot set is given with
+
+\begin{align}
+z_{n+1}(x,y) &= (z_n(x,y))^2 +C(x,y)\\
+z_0 &= (0;0)\\
+C(x,y) &= (x_0;y_0)
+\end{align}
+
+$(x_0;y_0)$ is the starting value.
+
+
+\begin{LTXexample}[width=3cm]
+\psfractal[type=Mandel]
+\end{LTXexample}
+
+\begin{LTXexample}[width=6.5cm]
+\psfractal[type=Mandel,
+ xWidth=6cm,yWidth=4.8cm,
+ baseColor=white,
+ dIter=10](-2,-1.2)(1,1.2)
+\end{LTXexample}
+
+\subsection{Sierpinski triangle}
+
+The triangle must be given by three mandatory arguments:
+
+\begin{verbatim}
+\psSier[settings](x0,y0)(x1,y1)(x2,y2)
+\end{verbatim}
+
+In difference to \verb|psfractal| it doesn't reserve any space, this is the
+reason why it should be part of a \verb|pspicture| environment.
+
+\begin{LTXexample}[width=6.5cm]
+\begin{pspicture}(5,5)
+ \psSier(0,0)(2,5)(5,0)
+\end{pspicture}
+\end{LTXexample}
+
+\section{The options}
+
+
+\subsection{\texttt{type}}
+Can be of "`Julia"' (default) or "`Mandel"'.
+
+\begin{LTXexample}[width=4.5cm]
+\psfractal\quad \psfractal[type=Mandel]
+\end{LTXexample}
+
+
+\subsection{\texttt{baseColor}}
+The color for the convergent part.
+
+\begin{LTXexample}[pos=t]
+\psfractal[xWidth=5cm,yWidth=5cm,dIter=10](-2,-2)(2,2)\quad
+\psfractal[xWidth=5cm,yWidth=5cm,baseColor=white,dIter=10](-2,-2)(2,2)
+\end{LTXexample}
+
+
+
+\subsection{\texttt{xWidth} and \texttt{yWidth}}
+These values define the physical width of the fractal.
+
+\begin{LTXexample}[pos=t]
+\psfractal[type=Mandel,xWidth=12.8cm,yWidth=10.8cm,dIter=5](-2.5,-1.3)(0.7,1.3)
+\end{LTXexample}
+
+\subsection{\texttt{cx} and \texttt{cy}}
+Define the starting value for the complex constant number $C$.
+
+\begin{LTXexample}[pos=t]
+\psset{xWidth=5cm,yWidth=5cm}
+\psfractal[dIter=2](-2,-2)(2,2)\quad \psfractal[dIter=2,cx=-1.3,cy=0](-2,-2)(2,2)
+\end{LTXexample}
+
+\subsection{\texttt{dIter}}
+The color is set by wavelength to RGB conversion of the iteration number, where
+\verb+dIter+ is the step, predefined by 1. The wavelength is given by
+the value of iter added by 400.
+
+\begin{LTXexample}[pos=t]
+\psset{xWidth=5cm,yWidth=5cm}
+\psfractal[dIter=30](-2,-2)(2,2)\quad \psfractal[dIter=10,cx=-1.3,cy=0](-2,-2)(2,2)
+\end{LTXexample}
+
+
+\subsection{\texttt{maxIter}}
+\verb+maxIter+ is the number of the maximum iteration until it leaves the loop.
+It is predefined by 255, but internally multiplied by \texttt{dIter}.
+
+\begin{LTXexample}[pos=t]
+\psset{xWidth=5cm,yWidth=5cm}
+\psfractal[maxIter=50,dIter=3](-2,-2)(2,2)\quad
+\psfractal[maxIter=30,cx=-1.3,cy=0](-2,-2)(2,2)
+\end{LTXexample}
+
+\subsection{\texttt{maxRadius}}
+if the square of distance of $z_n$ to the origin of the complex coordinate system
+is greater as \texttt{maxRadius} then the algorithm leaves the loop
+and sets the point. \texttt{maxRadius} should always be the square of the "`real"'
+value, it is preset by 100.
+
+\begin{LTXexample}[pos=t]
+\psset{xWidth=5cm,yWidth=5cm}
+\psfractal[maxRadius=30,dIter=10](-2,-2)(2,2)\quad
+\psfractal[maxRadius=30,dIter=30,cx=-1.3,cy=0](-2,-2)(2,2)
+\end{LTXexample}
+
+\subsection{\texttt{plotpoints}}
+This option is only valid for the Sierpinski triangle and preset by 2000.
+
+\begin{LTXexample}[pos=t]
+\begin{pspicture}(5,5)
+ \psSier(0,0)(2.5,5)(5,0)
+\end{pspicture}\quad
+\begin{pspicture}(5,5)
+ \psSier[plotpoints=10000](0,0)(2.5,5)(5,0)
+\end{pspicture}
+\end{LTXexample}
+
+\section{PDF output}
+
+\verb|pst-fractal| is based on the popular \verb|pstricks| package and writes pure \PS code\cite{PostScript}, so it is not possible to run \TeX{} files with pdf\LaTeX{} when there are pstricks macros in the document. If you still need a PDF output use one of the following possibilities:
+\begin{itemize}
+\item package \verb|pdftricks.sty|\cite{pdftricks}
+\item the for Linux free available program VTeX/Lnx\footnote{\url{http://www.micropress-inc.com/linux/}}
+\item build the PDF with \verb|ps2pdf| (\verb|dvi|$\rightarrow$\verb|ps|$\rightarrow$\verb|pdf|)
+\item use the \verb|pst-pdf| package.\footnote{\url{http://www.ctan.org/CTAN/macros/latex/contrib/pst-pdf/}}
+\end{itemize}
+
+You do not need to load \verb|pstricks.sty|, it will be done by \verb|pst-fractal| by default.
+
+\section{FAQ}
+\begin{itemize}
+\item The fractal is not correct placed.
+
+Be sure that you view your output with a dvi viewer which can show PostScript code, like
+kdvi but not xdvi. It is better to run \verb|dvips| and then view the ps-file with \verb|gv|.
+\item Unknown PostScript command:
+
+Be sure that you have the ''newest`` \verb|pstricks-add.tex| file
+\begin{verbatim}
+\def\fileversion{2.85}
+\def\filedate{2007/04/01}
+\end{verbatim}
+\end{itemize}
+
+
+
+\section{Credits}
+
+\nocite{*}
+
+\bibliographystyle{plain}
+\bibliography{pst-fractal-doc}
+
+\end{document}
diff --git a/Master/texmf-dist/source/generic/pst-fractal/Makefile b/Master/texmf-dist/source/generic/pst-fractal/Makefile
new file mode 100644
index 00000000000..6aa27a5b580
--- /dev/null
+++ b/Master/texmf-dist/source/generic/pst-fractal/Makefile
@@ -0,0 +1,48 @@
+
+# `Makefile' for `pst-fractal.pdf', hv, 2007/04/05
+
+.SUFFIXES : .tex .ltx .dvi .ps .pdf .eps
+
+PACKAGE = pst-fractal
+
+MAIN = $(PACKAGE)-doc
+
+LATEX = latex
+
+ARCHNAME = $(MAIN)-$(shell date +%y%m%d)
+
+ARCHFILES = $(PACKAGE).sty $(PACKAGE).tex $(PACKAGE).pro $(MAIN).tex README Changes Makefile
+
+all : doc clean
+doc: $(MAIN).pdf
+
+$(MAIN).pdf : $(MAIN).ps
+ GS_OPTIONS=-dAutoRotatePages=/None ps2pdf $<
+
+$(MAIN).ps : $(MAIN).dvi
+ dvips $<
+
+$(MAIN).dvi : $(MAIN).tex
+ $(LATEX) $<
+ $(LATEX) $<
+ if ! test -f $(basename $<).glo ; then touch $(basename $<).glo; fi
+ if ! test -f $(basename $<).idx ; then touch $(basename $<).idx; fi
+ makeindex -s gglo.ist -t $(basename $<).glg -o $(basename $<).gls \
+ $(basename $<).glo
+ makeindex -t $(basename $<).ilg -o $(basename $<).ind \
+ $(basename $<).idx
+ bibtex $(basename $<)
+ $(LATEX) $<
+ $(LATEX) $<
+
+clean :
+ $(RM) $(addprefix $(MAIN), .log .aux .glg .glo .gls .ilg .idx .ind .tmp .toc .out .blg .Roessler .bbl )
+ $(RM) $(addprefix $(MAIN), .dvi .ps)
+
+veryclean : clean
+ $(RM) $(addprefix $(MAIN), .pdf .bbl .blg)
+
+arch :
+ zip $(ARCHNAME).zip $(ARCHFILES)
+
+# EOF
diff --git a/Master/texmf-dist/tex/generic/pst-fractal/pst-fractal.tex b/Master/texmf-dist/tex/generic/pst-fractal/pst-fractal.tex
new file mode 100644
index 00000000000..c6f70147658
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pst-fractal/pst-fractal.tex
@@ -0,0 +1,164 @@
+%%
+%% This is file `pst-fractal.tex',
+%%
+%% IMPORTANT NOTICE:
+%%
+%% Package `pst-fractal.tex'
+%%
+%% Herbert Voss <voss _at_ pstricks dot de>
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%% DESCRIPTION:
+%% `pst-fractal' is a PSTricks package to draw Julia and
+%% Mandelbrot sets as well as Sierpinski, ...
+%%
+\csname PSTfractalLoaded\endcsname
+\let\PSTfractalLoaded\endinput
+\ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi
+\ifx\PSTricksAddLoaded\endinput\else\input pstricks-add.tex\fi
+\ifx\PSTXKeyLoaded\endinput\else\input pst-xkey \fi
+%
+\def\fileversion{0.03}
+\def\filedate{2007/04/05}
+\message{`PST-fractal' v\fileversion, \filedate\space (hv)}
+%
+\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
+\pst@addfams{pst-fractal}
+%\SpecialCoor
+%
+\newdimen\psk@fractal@xWidth
+\define@key[psset]{pst-fractal}{xWidth}{\pssetlength\psk@fractal@xWidth{#1}}
+\newdimen\psk@fractal@yWidth
+\define@key[psset]{pst-fractal}{yWidth}{\pssetlength\psk@fractal@yWidth{#1}}
+\psset[pst-fractal]{xWidth=1cm,yWidth=1cm}
+\define@key[psset]{pst-fractal}{type}{\def\pst@fractal@type{#1}}
+\psset[pst-fractal]{type=Julia}% or type=Mandel
+\def\pst@fractal@Julia{Julia}\def\pst@fractal@Mandel{Mandel}
+\define@key[psset]{pst-fractal}{baseColor}{\pst@getcolor{#1}\pst@fractal@baseColor}
+\psset[pst-fractal]{baseColor=black}
+%
+\define@key[psset]{pst-fractal}{cx}{\def\psk@fractal@cx{#1 }}
+\define@key[psset]{pst-fractal}{cy}{\def\psk@fractal@cy{#1 }}
+\define@key[psset]{pst-fractal}{dIter}{\def\psk@fractal@dIter{#1 }}
+\psset[pst-fractal]{cx=0,cy=0,dIter=1}
+\define@key[psset]{pst-fractal}{maxIter}{\pst@checknum{#1}\pst@fractal@maxIter}
+\define@key[psset]{pst-fractal}{maxRadius}{\pst@checknum{#1}\pst@fractal@maxRadius}
+\psset[pst-fractal]{maxIter=255,maxRadius=100}
+\define@key[psset]{pst-fractal}{plotpoints}{\pst@checknum{#1}\pst@fractal@plotpoints}
+\psset[pst-fractal]{plotpoints=2000}
+%
+\def\psfractal{\pst@object{psfractal}}
+\def\psfractal@i{\@ifnextchar({\psfractal@ii}{\psfractal@ii(-1,-1)}}%
+\def\psfractal@ii(#1){\@ifnextchar({\psfractal@iii(#1)}{\psfractal@iii(#1)(1,1)}}%
+\def\psfractal@iii(#1)(#2){%
+ \begin@SpecialObj
+ \psset{unit=1pt}
+ \pst@getcoor{#1}\pst@temp@A
+ \pst@getcoor{#2}\pst@temp@B
+ \pspicture(\psk@fractal@xWidth,\psk@fractal@yWidth)%
+ \addto@pscode{
+ \pst@temp@A /MinY ED /MinX ED
+ \pst@temp@B /MaxY ED /MaxX ED
+ /MaxXPixel \pst@number\psk@fractal@xWidth def
+ /MaxYPixel \pst@number\psk@fractal@yWidth def
+ /PixelDicke 0.5 def
+ /cx \psk@fractal@cx def
+ /cy \psk@fractal@cy def
+ /totMaxIter \pst@fractal@maxIter\space \psk@fractal@dIter\space mul def
+%
+ /DX MaxX MinX sub def
+ /DY MaxY MinY sub def
+ /dx DX MaxXPixel div def
+ /dy DY MaxYPixel div def
+%
+ /convertX { MinX sub DX sub dx div } def % user -> pt
+ /convertY { MinY sub dy div } def % user -> pt
+ /convertXY { convertY exch convertX exch } def
+%
+ /putPixel {% x y auf dem Stack in Benutzerkoordinaten
+ convertXY
+ PixelDicke 0 360 arc fill
+ } def
+%
+ MinX dx MaxX {
+ \ifx\pst@fractal@type\pst@fractal@Julia /x exch def \else /cx exch def /x 0.0 def \fi
+ MinY dy MaxY {
+ \ifx\pst@fractal@type\pst@fractal@Julia /y exch def \else /cy exch def /y 0.0 def \fi
+ /iter 0 def
+ /zx x def
+ /zy y def
+ /plot true def
+ totMaxIter cvi {
+ zx dup mul zy dup mul add \pst@fractal@maxRadius\space gt {
+ /plot false def
+ exit
+ }{% Calculate next value
+ 2 zx zy mul mul cy add
+ /zx zx dup mul zy dup mul sub cx add def
+ /zy exch def
+ /iter iter \psk@fractal@dIter add def
+ } ifelse
+ } repeat
+ plot{
+ \pst@usecolor\pst@fractal@baseColor
+ x y putPixel
+ }{ iter 400 add tx@addDict begin wavelengthToRGB
+ Red Green Blue setrgbcolor end
+ \ifx\pst@fractal@type\pst@fractal@Julia x y \else cx cy \fi
+ putPixel stroke
+ }ifelse % Plot point if point is in set
+ } for
+ } for
+ }% end add@pscode
+ \endpspicture% end box
+ \end@SpecialObj%
+ \ignorespaces}
+%
+\def\psSier{\pst@object{psSier}}
+\def\psSier@i(#1)(#2)(#3){{%
+ \pst@getcoor{#1}\pst@temp@A
+ \pst@getcoor{#2}\pst@temp@B
+ \pst@getcoor{#3}\pst@temp@C
+ \begin@SpecialObj%
+ \addto@pscode{
+ /Coor [ \pst@temp@A
+ \pst@temp@B
+ \pst@temp@C ] def
+ /Sx 0 def /Sy 0 def
+ /putPixel { 0.5 0 360 arc stroke } def % x y on stack
+ /newPosition { % point # on stack
+ Coor exch 2 getinterval aload pop
+ /y exch def /x exch def
+ x Sx sub 2 div Sx add /Sx exch def
+ y Sy sub 2 div Sy add /Sy exch def
+ Sx Sy putPixel
+ } def
+ /drawFrame {
+ Coor aload pop
+ newpath
+ moveto
+ nCoor 1 sub { lineto } repeat % n-1 times
+ gsave 0.9 setgray fill grestore
+ \pst@usecolor\pslinecolor
+ closepath
+ stroke
+ } def
+ /nCoor Coor length 2 div 0.5 add cvi def % # of dots
+ drawFrame
+ \pst@fractal@plotpoints\space cvi {
+ rand nCoor mod
+ dup add newPosition
+ } repeat
+ }% end add@pscode
+ \end@SpecialObj%
+}}
+
+%
+\catcode`\@=\PstAtCode\relax
+%
+%% END: pst-fractal.tex
+\endinput
+
diff --git a/Master/texmf-dist/tex/latex/pst-fractal/pst-fractal.sty b/Master/texmf-dist/tex/latex/pst-fractal/pst-fractal.sty
new file mode 100644
index 00000000000..af3411ce767
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/pst-fractal/pst-fractal.sty
@@ -0,0 +1,8 @@
+\RequirePackage{pstricks}
+\ProvidesPackage{pst-fractal}[2007/04/02 package wrapper for
+ pst-fractal.tex (hv)]
+\input{pst-fractal.tex}
+\IfFileExists{pst-fractal.pro}{\@addtofilelist{pst-fractal.pro}}{}%
+\ProvidesFile{pst-fractal.tex}
+ [\filedate\space v\fileversion\space `PST-fractal' (hv)]
+\endinput
diff --git a/Master/texmf-dist/tpm/pst-fractal.tpm b/Master/texmf-dist/tpm/pst-fractal.tpm
new file mode 100644
index 00000000000..da76231c47a
--- /dev/null
+++ b/Master/texmf-dist/tpm/pst-fractal.tpm
@@ -0,0 +1,33 @@
+<!DOCTYPE rdf:RDF SYSTEM "../../support/tpm.dtd">
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:TPM="http://texlive.dante.de/">
+ <rdf:Description about="http://texlive.dante.de/texlive/Package/pst-fractal.zip">
+ <TPM:Name>pst-fractal</TPM:Name>
+ <TPM:Type>Package</TPM:Type>
+ <TPM:Date>2007/04/06 12:58:25</TPM:Date>
+ <TPM:Version></TPM:Version>
+ <TPM:Creator>karl</TPM:Creator>
+ <TPM:Title>The pst-fractal package.</TPM:Title>
+ <TPM:Description></TPM:Description>
+ <TPM:Author></TPM:Author>
+ <TPM:Size>15323851</TPM:Size>
+ <TPM:License></TPM:License>
+ <TPM:Build/>
+ <TPM:RunFiles size="6693">
+texmf-dist/tex/generic/pst-fractal/pst-fractal.tex
+texmf-dist/tex/latex/pst-fractal/pst-fractal.sty
+texmf-dist/tpm/pst-fractal.tpm
+ </TPM:RunFiles>
+ <TPM:DocFiles size="15317316">
+texmf-dist/doc/generic/pst-fractal/Changes
+texmf-dist/doc/generic/pst-fractal/README
+texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.bib
+texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.pdf
+texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.tex
+ </TPM:DocFiles>
+ <TPM:SourceFiles size="1108">
+texmf-dist/source/generic/pst-fractal/Makefile
+ </TPM:SourceFiles>
+ <TPM:Provides>Package/pst-fractal</TPM:Provides>
+ </rdf:Description>
+</rdf:RDF>
+
diff --git a/Master/texmf/lists/pst-fractal b/Master/texmf/lists/pst-fractal
new file mode 100644
index 00000000000..e4f154e4764
--- /dev/null
+++ b/Master/texmf/lists/pst-fractal
@@ -0,0 +1,11 @@
+texmf-dist/doc/generic/pst-fractal/Changes
+texmf-dist/doc/generic/pst-fractal/README
+texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.bib
+texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.pdf
+texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.tex
+texmf-dist/source/generic/pst-fractal/Makefile
+texmf-dist/tex/generic/pst-fractal/pst-fractal.tex
+texmf-dist/tex/latex/pst-fractal/pst-fractal.sty
+texmf-dist/tpm/pst-fractal.tpm
+
+texmf/lists/pst-fractal
diff --git a/Master/texmf/tpm/collection-pstricks.tpm b/Master/texmf/tpm/collection-pstricks.tpm
index 31d24b9ac4c..4a990ea647e 100644
--- a/Master/texmf/tpm/collection-pstricks.tpm
+++ b/Master/texmf/tpm/collection-pstricks.tpm
@@ -32,6 +32,7 @@
<TPM:Package name="pst-eucl"/>
<TPM:Package name="pst-fill"/>
<TPM:Package name="pst-fr3d"/>
+ <TPM:Package name="pst-fractal"/>
<TPM:Package name="pst-func"/>
<TPM:Package name="pst-geo"/>
<TPM:Package name="pst-ghsb"/>