diff options
author | Karl Berry <karl@freefriends.org> | 2007-04-09 00:38:50 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2007-04-09 00:38:50 +0000 |
commit | bff92f08fb701e5e527b800881d7391aefab4a92 (patch) | |
tree | 537d9ecfc424000088f6922e354a677552dc37c5 | |
parent | f562db71034b1e5239dfe51fa3c3c0bb5a5bd8d5 (diff) |
new package pst-fractal (5apr07)
git-svn-id: svn://tug.org/texlive/trunk@4137 c570f23f-e606-0410-a88d-b1316a301751
-rwxr-xr-x | Build/cdbuild/ctan2tds.pl | 1 | ||||
-rwxr-xr-x | Build/tools/tpm-ctan-check | 2 | ||||
-rwxr-xr-x | Master/texmf-dist/doc/generic/pst-fractal/Changes | 6 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-fractal/README | 46 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.bib | 129 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.pdf | bin | 0 -> 15304639 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.tex | 256 | ||||
-rw-r--r-- | Master/texmf-dist/source/generic/pst-fractal/Makefile | 48 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/pst-fractal/pst-fractal.tex | 164 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/pst-fractal/pst-fractal.sty | 8 | ||||
-rw-r--r-- | Master/texmf-dist/tpm/pst-fractal.tpm | 33 | ||||
-rw-r--r-- | Master/texmf/lists/pst-fractal | 11 | ||||
-rw-r--r-- | Master/texmf/tpm/collection-pstricks.tpm | 1 |
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 Binary files differnew file mode 100644 index 00000000000..63725ffbc40 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.pdf 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"/> |