texlive[45977] Master/texmf-dist: pst-fractal (3dec17)

commits+karl at tug.org commits+karl at tug.org
Sun Dec 3 23:18:59 CET 2017


Revision: 45977
          http://tug.org/svn/texlive?view=revision&revision=45977
Author:   karl
Date:     2017-12-03 23:18:59 +0100 (Sun, 03 Dec 2017)
Log Message:
-----------
pst-fractal (3dec17)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/generic/pst-fractal/Changes
    trunk/Master/texmf-dist/doc/generic/pst-fractal/README
    trunk/Master/texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.bib
    trunk/Master/texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.pdf
    trunk/Master/texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.tex
    trunk/Master/texmf-dist/dvips/pst-fractal/pst-fractal.pro
    trunk/Master/texmf-dist/tex/generic/pst-fractal/pst-fractal.tex
    trunk/Master/texmf-dist/tex/latex/pst-fractal/pst-fractal.sty

Modified: trunk/Master/texmf-dist/doc/generic/pst-fractal/Changes
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pst-fractal/Changes	2017-12-03 22:18:07 UTC (rev 45976)
+++ trunk/Master/texmf-dist/doc/generic/pst-fractal/Changes	2017-12-03 22:18:59 UTC (rev 45977)
@@ -1,4 +1,5 @@
 pst-fractal.pro --------
+0.05  2017-12-02  added fibinacci curves
 0.04  2017-11-26  add sierpinski curve
 0.03  2011-02-10  cometic changes
 0.02  2010-02-10  fix bug in tx at fern
@@ -6,7 +7,8 @@
 
 
 pst-fractal.tex --------
-0.08  2017-11-26  - add sierpinski curve
+0.09  2017-12-02  - added fibinacci curves
+0.08  2017-11-26  - added sierpinski curve
 0.07  2013-06-17  - allow level 0 for sierpinski
 0.06  2010-02-10  - add another type of a Sierpinski triangle
 0.05  2007-09-25  - allow unbalanced trees with option 0<c<1

Modified: trunk/Master/texmf-dist/doc/generic/pst-fractal/README
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pst-fractal/README	2017-12-03 22:18:07 UTC (rev 45976)
+++ trunk/Master/texmf-dist/doc/generic/pst-fractal/README	2017-12-03 22:18:59 UTC (rev 45977)
@@ -11,7 +11,7 @@
 PSTricks is PostScript Tricks, the documentation cannot be run
 with pdftex, use the sequence latex->dvips->ps2pdf.
 
-To gett he documentation of this document you have to run
+To get the documentation of this document you have to run
 pst2pdf pst-fractal-doc --Iext=.jpg
 
 %% This program can be redistributed and/or modified under the terms

Modified: trunk/Master/texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.bib
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.bib	2017-12-03 22:18:07 UTC (rev 45976)
+++ trunk/Master/texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.bib	2017-12-03 22:18:59 UTC (rev 45977)
@@ -123,3 +123,10 @@
   year		= {2012},
   url	= {/graphics/pstricks/contrib/pst-tools}
 }
+
+ at online{ramirez,
+title= {Properties and Generalizations of the Fibonacci Word Fractal Exploring Fractal Curves},
+url = {http://www.mathematica-journal.com/2014/02/properties-and-generalizations-of-the-fibonacci-word-fractal/},
+author= {José L. Ramírez and Gustavo N. Rubiano},
+}
+ 
\ No newline at end of file

Modified: trunk/Master/texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.tex	2017-12-03 22:18:07 UTC (rev 45976)
+++ trunk/Master/texmf-dist/doc/generic/pst-fractal/pst-fractal-doc.tex	2017-12-03 22:18:59 UTC (rev 45977)
@@ -1,6 +1,6 @@
-%% $Id: pst-fractal-doc.tex 658 2017-11-26 16:55:41Z herbert $
-\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,
-   smallheadings, headexclude,footexclude,oneside]{pst-doc}
+%% $Id: pst-fractal-doc.tex 677 2017-12-03 09:51:54Z herbert $
+\documentclass[fontsize=11pt,english,BCOR=10mm,DIV=13,toc=bibliography,parskip=false,
+   headings=small, headinclude=false,footinclude=false,oneside]{pst-doc}
 \usepackage[utf8]{inputenc}
 \usepackage{pst-fractal}
 \let\pstFV\fileversion
@@ -8,6 +8,37 @@
 \def\PSLenv{\Lenv{pspicture}}
 \usepackage{animate}
 
+
+\def\pSTilingsFibonacci#1#2#3{% #1=n #2=nbre de lignes #3=type 1 ou 2
+  \pstFPDiv\Nbr{#2}{2}%
+  \psset[pst-fractal]{n=#1}%
+  \pstVerb{/n0 #1 def /tabPell [0 1 2 5 12 29 70 169 408] def
+    /Type #3 def
+    Type 2 gt {/Type 1 def} if
+    Type 2 eq {
+% (-1)^2P(n),(P(n+1)
+         /Y1 tabPell n0 1 add get def
+         /X1 -1 n0 exp tabPell n0 get mul def
+    }{
+% (P(n+1),(-1)^2P(n)
+         /X1 tabPell n0 1 add get def
+         /Y1 -1 n0 exp tabPell n0 get mul def
+    } ifelse
+    % le déplacement perpendiculaire
+    /X2 Y1 neg def
+    /Y2 X1 def
+}%
+\pstVerb{/ListColors [0 0 1] def}%
+\multido{\I=-\Nbr+1}{#2}{5 \rput(!X2 \I\space mul Y2 \I\space mul){%
+    \multido{\i=-\Nbr+1}{#2}{%
+%\definecolor[ps]{Couleur}{rgb}{ListColors aload pop}%
+      \definecolor[ps]{Couleur}{cmyk}{ListColors aload pop 0}%
+      \rput(!X1 \i\space mul Y1 \i\space mul){\psFibonacciPolyominoes[fillcolor=Couleur]}%
+      \pstVerb{/ListColors [ListColors aload pop 3 1 roll] def}%
+}}}}%
+
+
+
 %\usepackage{auto-pst-pdf}
 
 \addbibresource{\jobname.bib}
@@ -24,8 +55,9 @@
 
 \tableofcontents
 
-\clearpage
+\vspace{3cm}
 
+
 \begin{abstract}
 \noindent
 The well known \LPack{pstricks} package offers excellent macros to insert more or less complex 
@@ -48,7 +80,7 @@
 high quality.
 
 
-\section{Sierpinski triangle}
+\section{Sierpinski triangle and curve}
 
 The triangle must be given by three mandatory arguments. Depending to the kind of
 arguments it is one of the two possible versions:
@@ -55,9 +87,11 @@
 
 \begin{BDef}
 \Lcs{psSier}\OptArgs\coord0\coord1\coord2\\
-\Lcs{psSier}\OptArgs\coord0\Largb{Base}\Largb{Recursion}
+\Lcs{psSier}\OptArgs\coord0\Largb{Base}\Largb{Recursion}\\
+\Lcs{psSier}\OptArgs
 \end{BDef}
 
+\subsection{Triangle}
 In difference to \Lcs{psfractal} it doesn't reserve any space, this is the
 reason why it should be part of a \PSLenv{} environment.
 
@@ -76,9 +110,8 @@
 \end{pspicture} }
 \end{LTXexample}
 
+\subsection{Curve}
 
-\section{Sierpinski curve}
-
 There are four special optional arguments for the Siepinski curve:
 \begin{itemize}
   \item \texttt{[n=4]} : number of iterations
@@ -115,9 +148,6 @@
 \end{LTXexample}
 
 
-
-\iffalse
-
 \begin{animateinline}[controls,% palindrome,
                      begin={\begin{pspicture}(-4,-4)(4,4)},
                      end={\end{pspicture}}]{5}% 5 image/s
@@ -141,8 +171,8 @@
 \end{animateinline}
 \end{verbatim}
 
-\fi
 
+
 \section{Julia and Mandelbrot sets}
 
 The syntax of the \Lcs{psfractal} macro is simple
@@ -214,7 +244,7 @@
 
 
 \begin{LTXexample}[pos=l]
-\psfractal
+\psfractal  \qquad
 \psfractal[type=Mandel]
 \end{LTXexample}
 
@@ -222,7 +252,7 @@
 The color for the convergent part is set by \Lkeyword{baseColor}.
 
 \begin{LTXexample}
-\psfractal[xWidth=4cm,yWidth=4cm,dIter=30](-2,-2)(2,2)
+\psfractal[xWidth=4cm,yWidth=4cm,dIter=30](-2,-2)(2,2)  \qquad
 \psfractal[xWidth=4cm,yWidth=4cm,baseColor=yellow,dIter=30](-2,-2)(2,2)
 \end{LTXexample}
 
@@ -235,12 +265,16 @@
 \psfractal[type=Mandel,xWidth=12.8cm,yWidth=10.8cm,dIter=5](-2.5,-1.3)(0.7,1.3)
 \end{LTXexample}
 
+
+\clearpage%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
 \subsection{\texttt{cx} and \texttt{cy}}\xLkeyword{cx}\xLkeyword{cy}
 Define the starting value for the complex constant number $C$.
 
 \begin{LTXexample}
 \psset{xWidth=5cm,yWidth=5cm}
-\psfractal[dIter=2](-2,-2)(2,2)
+\psfractal[dIter=2](-2,-2)(2,2) \qquad 
 \psfractal[dIter=2,cx=-1.3,cy=0](-2,-2)(2,2)
 \end{LTXexample}
 
@@ -252,10 +286,14 @@
 
 \begin{LTXexample}
 \psset{xWidth=5cm,yWidth=5cm}
-\psfractal[dIter=30](-2,-2)(2,2)
+\psfractal[dIter=30](-2,-2)(2,2)  \qquad
 \psfractal[dIter=10,cx=-1.3,cy=0](-2,-2)(2,2)
 \end{LTXexample}
 
+
+\clearpage%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
 \subsection{\texttt{maxIter}}
 \Lkeyword{maxIter} is the number of the maximum iteration until it leaves the loop.
 It is predefined by 255, but internally multiplied by \Lkeyword{dIter}.
@@ -262,7 +300,7 @@
 
 \begin{LTXexample}
 \psset{xWidth=5cm,yWidth=5cm}
-\psfractal[maxIter=50,dIter=3](-2,-2)(2,2)
+\psfractal[maxIter=50,dIter=3](-2,-2)(2,2)  \qquad
 \psfractal[maxIter=30,cx=-1.3,cy=0](-2,-2)(2,2)
 \end{LTXexample}
 
@@ -274,10 +312,13 @@
 
 \begin{LTXexample}
 \psset{xWidth=5cm,yWidth=5cm}
-\psfractal[maxRadius=30,dIter=10](-2,-2)(2,2)
+\psfractal[maxRadius=30,dIter=10](-2,-2)(2,2)   \qquad
 \psfractal[maxRadius=30,dIter=30,cx=-1.3,cy=0](-2,-2)(2,2)
 \end{LTXexample}
 
+
+\clearpage%%%%%%%%%%%%%%%%%%%%%%%%%%
+
 \subsection{\texttt{plotpoints}}\xLkeyword{plotpoints}
 This option is only valid for the Sierpinski triangle and preset by 2000.
 
@@ -284,7 +325,7 @@
 \begin{LTXexample}
 \begin{pspicture}(5,5)
   \psSier(0,0)(2.5,5)(5,0)
-\end{pspicture}
+\end{pspicture} \quad
 \begin{pspicture}(5,5)
   \psSier[plotpoints=10000](0,0)(2.5,5)(5,0)
 \end{pspicture}
@@ -332,6 +373,10 @@
 \end{pspicture}}
 \end{LTXexample}
 
+
+\clearpage%%%%%%%%%%%%%%%%%%%%%%%%
+
+
 \subsection{\texttt{c}}\xLkeyword{c}
 This is the length of one element in the unit pt.
 
@@ -349,6 +394,9 @@
 \end{pspicture}}
 \end{LTXexample}
 
+\clearpage%%%%%%%%%%%%%%%%%%%%%%%%
+
+
 \subsection{\texttt{maxIter}}\xLkeyword{maxIter}
 This is the number for the iterations.
 
@@ -392,6 +440,9 @@
 \end{LTXexample}
 
 
+\clearpage%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
 \section{Koch flake}
 
 \begin{BDef}
@@ -423,6 +474,8 @@
 for the first rotation angle.
 
 
+\clearpage%%%%%%%%%%%%%%%%%%%%%%%%%%
+
 \section{Apollonius circles}
 
 \begin{BDef}
@@ -461,12 +514,12 @@
 
 \medskip
 \begin{center}
-\begin{tabular}{@{}>{\ttfamily}lll@{}}
+\begin{tabular}{@{}>{\ttfamily}lll@{}}\hline
 \emph{Name} & \emph{Meaning} & \emph{default}\\\hline
 \Lkeyword{xWidth}   & first base width & 1cm\\
 \Lkeyword{minWidth} & last base width  & 1pt\\
 \Lkeyword{c}	    & factor for unbalanced trees (0<c<1) & 0.5\\
-\Lkeyword{Color}    & colored tree     & fasle
+\Lkeyword{Color}    & colored tree     & false\\\hline
 \end{tabular}
 \end{center}
 
@@ -539,14 +592,809 @@
 \end{pspicture*}
 \end{LTXexample}
 
+
+\section{Fibonacci fractals}
+There are seven different commands which are all defined by Manuel Luque (for more informations see 
+\url{http://pstricks.blogspot.de}):
+
+\begin{BDef}
+\Lcs{psFibonacciWord}\OptArgs\Largr{\CAny}\\
+\Lcs{psFibonacci}\OptArgs\\
+\Lcs{psNewFibonacci}\OptArgs\\
+\Lcs{psiFibonacci}\OptArgs\\
+\Lcs{pskFibonacci}\OptArgs\Largr{\CAny}\\
+\Lcs{psBiperiodicFibonacci}\OptArgs\Largr{\CAny}\\
+\Lcs{psFibonacciPolyominoes}\OptArgs\Largr{\CAny}
+\end{BDef}
+
+
+\begin{itemize}
+  \item \Lcs{psFibonacciWord} A Fibonacci word after n iterations
+  \item \Lcs{psFibonacci} Draw the fractal curve of a Fibonacci word
+  \item \Lcs{psNewFibonacci} Draw a bunch of curves obtained from the ``Dense Fibonacci Word'' 
+  (DFW) by substitutions.
+  \item \Lcs{psiFibonacci} In the article \cite{ramirez} a new family of curves in a row is called
+   ``\texttt{i-Fibonacci Word Fractal}''.
+  \item \Lcs{pskFibonacci} study the
+  following k-Fibonacci and the curves associated with words in the article ``\textit{On the 
+  k-Fibonacci
+  	words}\footnote{\ url{http://www.acta.sapientia.ro/acta-info/C5-2/info52-4.pdf}}'', this 
+  	command allows to represent these curves.
+  \item \Lcs{psBiperiodicFibonacci} it is still José L. Ramírez and Gustavo N. Rubiano who in the 
+  article ``\textit{Biperiodic Fibonacci Word and Its Fractal Curve}''%
+  \footnote{\url{https://www.researchgate.net/publication/276406650_Biperiodic_Fibonacci_word_and_its_fractal_curve}}
+  extend the notion of Fibonacci sequence with 2 parameters (a, b). This command draws the 
+  associated fractal curves.
+  \item \Lcs{psFibonacciPolyominoes} this command draws a Fibonacci tile, also called a Fibonacci 
+  flake and allows you to pave the plane in two ways, following the rules established by A. 
+  Blondin-Massé, S. Labbé, S. Brlek and M. Mendès-France in their article ``\textit{Fibonacci 
+  snowflakes}\footnote{\url{www.slabbe.org/Publications/2011-fibo-snowflakes.pdf}}''.
+\end{itemize}
+
+The valid optional arguments with its default values:
+
+
+\begin{enumerate}
+  \item \texttt{[n=10]} : number of iterations;
+  \item \texttt{[k=5]} : k-Fibonacci series;
+  \item \texttt{[a=5,b=5]} : Biperiodic-Fibonacci series;
+  \item \texttt{[angle=90]} : turn right (-) or left (+) an angle of this value (see examples in 
+  the article of José L. Ramírez et Gustavo N. Rubiano.
+  \item \texttt{[i=6]} : sets the follow-up nature of generalized Fibonacci;
+  \item \texttt{morphism=(0) (1) (2)} : for the command \Lcs{psNewFibonacci}, we will write 
+  in the 3 pairs of parentheses the substitutions to be performed (see section~\ref{dfw})).
+  \item \texttt{[PSfont=Times-Roman]} : PostScript font;
+  \item \texttt{[fontscale=8} : fontscale;
+  \item \texttt{[colorF]} : curve color \verb+n-1+ for construction by juxtaposition;
+  \item \texttt{[juxtaposition=false]} allows the juxtaposition of the \texttt{n} and 
+  \texttt{n-1} curves to bring up the \texttt{n+1} curve by simply writing 
+  \texttt{[juxtaposition]} in the options.
+ \item \texttt{[DFW=false]} to display the ``\textit{Dense Fibonacci Word}'' (DFW) with 
+ \verb+\psFibonacciWord[DFW]+~;
+  \item \texttt{[iFibonacci=false]} to display the word ``\textit{i-Fibonacci}'' with 
+  \verb+\psiFibonacciWord[iFibonacci]+, obtained with the \texttt{[i]} parameter after 
+  \texttt{[n]} iterations.
+\end{enumerate}
+
+The color and the thickness of the line of the fractal curve \texttt{n} are fixed with the usual 
+parameters of PSTricks: \texttt{linewidth} and \texttt{linecolor}. The starting point of the curve 
+is in $(0,0)$ and the unit is set by the PSTricks \texttt{unit =} option.
+
+This package does not pretend to exhaust the subject on the continuation of Fibonacci, the word of 
+Fibonacci and the various fractals which are inspired by it. The subject is very vast and the 
+studies very numerous. For those who discover the subject here are some tracks.
+
+The number 478 of the August 2017 issue of \textit{Pour la Science} contains an article by 
+Jean-Paul Delahaye ``\textit {The following of Fibonacci \ldots\ and its consequences}'' whose 
+title sums up the content of the article with, as usual, detailed explanations and beautiful 
+illustrations.
+
+Concerning all the variations on the fractal curve of the Fibonacci word, Alexis Monnerot-Dumaine's 
+article entitled ``\textit{The Fibonacci Word fractal}'' is the 
+reference\footnote{\url{https://hal.archives-ouvertes.fr/hal-00367972}}.
+
+The site \url{https://fr.wikipedia.org/wiki/Fractale_du_mot_de_Fibonacci} is also very rich in 
+information.
+
+The command \verb+\pSTilingsFibonacci+ allows the tiling of the 
+plane with the n order Fibonacci tile.
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid=false](-1,-1)(1,3)
+\psgrid[style=gridstyleA]
+\psFibonacci[unit=0.2,linecolor={[rgb]{0 0 0.5}},linewidth=0.05cm,n=5]
+\rput(0,-0.45){$F_{5}=$}
+\psFibonacciWord[n=5](0.5,-0.5)
+\end{pspicture}
+\begin{pspicture}[showgrid=false](-1,-1)(2,3)
+\psgrid[style=gridstyleA]
+\psFibonacci[unit=0.2,linecolor={[rgb]{0 0 0.5}},linewidth=0.05cm,n=6]
+\rput(0,-0.45){$F_{6}=$}
+\psFibonacciWord[n=6](0.5,-0.5)
+\end{pspicture}
+\begin{pspicture}[showgrid=false](-1,-1)(2,3)
+\psgrid[style=gridstyleA]
+\psFibonacci[unit=0.2,linecolor={[rgb]{0 0 0.5}},linewidth=0.05cm,n=7]
+\rput(-0.5,-0.45){$F_{7}=$}
+\psFibonacciWord[n=7](0,-0.5)
+\end{pspicture}
+\begin{pspicture}[showgrid=false](-1,-1)(2,3)
+\psgrid[style=gridstyleA]
+\psFibonacci[unit=0.2,linecolor={[rgb]{0 0 0.5}},linewidth=0.05cm,n=8]
+\rput(-0.4,-0.45){$F_{8}=$}
+\psFibonacciWord[n=8](0,-0.5)
+\end{pspicture}
+\begin{pspicture}[showgrid=false](-1,-1)(2,3)
+\psgrid[style=gridstyleA]
+\psFibonacci[unit=0.2,linecolor={[rgb]{0 0 0.5}},linewidth=0.05cm,n=9]
+\psFibonacciWord[n=9](-0.5,-0.75)
+\rput(-1,-0.75){$F_{9}=$}
+\end{pspicture}
+\end{LTXexample}
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid=false](-1,-1)(6,3)
+\psgrid[style=gridstyleA]
+\psFibonacci[unit=0.2,linecolor={[rgb]{0 0 0.5}},linewidth=0.05cm,n=10]
+\psFibonacciWord[n=10](-0.5,-0.5)
+\rput(-1,-0.45){$F_{10}=$}
+\end{pspicture}
+\end{LTXexample}
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid](0,0)(12,8)
+\psFibonacci[unit=0.02,linecolor={[rgb]{0.5 0 0}},n=23,linewidth=0.015cm]
+\rput(5.5,4){n=23}
+\end{pspicture}
+\end{LTXexample}
+
+
+
+\clearpage%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\subsection{Fractal curves with juxtaposition}
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid](0,0)(7,7)
+\psFibonacci[unit=0.1,linecolor=blue,n=15,linewidth=0.04cm,juxtaposition]
+\rput(4,2.25){$F_{15}$}
+\rput(5.25,3){$F_{14}$}
+\psline[arrowinset=0.1,arrowsize=0.2]{->}(4.8,2)(3,2)
+\psline[arrowinset=0.1,arrowsize=0.2]{->}(5,2.5)(5,4)
+\end{pspicture}
+\hfill
+\begin{pspicture}[showgrid](0,0)(7,7)
+\psFibonacci[unit=0.1,linecolor=blue,n=16,linewidth=0.04cm]
+\rput(5,2){$F_{16}$}
+\end{pspicture}
+\end{LTXexample}
+
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid](0,0)(8,5)
+\psFibonacci[unit=0.05,linecolor=blue,n=17,linewidth=0.02cm,juxtaposition]
+\rput(2.5,4){\blue$F_{17}$}
+\rput(6,4){\red$F_{16}$}
+\end{pspicture}
+\hfill
+\begin{pspicture}[showgrid](0,0)(8,5)
+\psFibonacci[unit=0.05,n=18,linewidth=0.02cm]
+\rput(4,4){$F_{18}$}
+\end{pspicture}
+\end{LTXexample}
+
+
+
+
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid](0,0)(10,7)
+\psFibonacci[unit=0.1,linecolor=blue,n=16,linewidth=0.03cm,juxtaposition]
+\rput(5,2){\blue$F_{16}$}
+\rput(9,2){\red$F_{15}$}
+\end{pspicture}
+\end{LTXexample}
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid](0,0)(10,7)
+\psFibonacci[unit=0.1,n=17,linewidth=0.03cm]
+\rput(5,2){$F_{17}$}
+\end{pspicture}
+\end{LTXexample}
+
+
+
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid](0,0)(13,12)
+\psFibonacci[unit=0.03,linecolor=blue,n=21,linewidth=0.02cm,juxtaposition]
+\rput(1.5,3.5){\blue$F_{21}$}
+\rput(8.5,10.5){\red$F_{20}$}
+\end{pspicture}
+\end{LTXexample}
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid](0,0)(13,12)
+\psFibonacci[unit=0.03,n=22,linewidth=0.025cm]
+\rput(9,4){$F_{22}$}
+\end{pspicture}
+\end{LTXexample}
+
+
+
+
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid](0,0)(14,6)
+\psFibonacci[unit=0.015,linecolor=blue,n=23,linewidth=0.01cm,juxtaposition]
+\rput(4,2){\blue$F_{23}$}
+\rput(10.5,4){\red$F_{22}$}
+\end{pspicture}
+\end{LTXexample}
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid](0,0)(14,6)
+\psFibonacci[unit=0.015,n=24,linewidth=0.01cm]
+\rput(7,6.5){$F_{24}$}
+\end{pspicture}
+\end{LTXexample}
+
+
+
+\subsection{Curves with a big number of iterations}
+With \texttt{n=30} it takes a long time and the number is not readable.
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid](0,0)(14,6)
+\psFibonacci[unit=0.0025,n=30,linewidth=0.001cm]
+\end{pspicture}
+\end{LTXexample}
+
+
+
+\clearpage%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\subsection{Double color curves}
+
+Superposition of two curves are possible by choosing diffrent color and line thickness.
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}(-1,-1)(15,12)
+\psgrid[style=gridstyleA]
+\psFibonacci[unit=0.4,linecolor=blue,n=13,linewidth=0.2cm]%
+\psFibonacci[unit=0.4,linecolor=red,n=13,linewidth=0.05cm]%
+\end{pspicture}
+\end{LTXexample}
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid](-1,-1)(14,6)
+\psFibonacci[unit=0.5,linecolor=red,n=12,linewidth=0.2cm]%
+\psFibonacci[unit=0.5,linecolor=yellow,n=12,linewidth=0.05cm]%
+\end{pspicture}
+\end{LTXexample}
+
+
+
+
+\section{``Dense Fibonacci Word'' and the command \Lcs{psNewFibonacci}}\label{dfw}
+
+In the chapter ``The dense Fibonacci word: a whole family of curves'', Alexis Monnerot-Dumaine
+wrote:
+
+\begin{quote}
+The odd-even design rule is not easy to manage and we can change to
+a more practical rule. As Jean-Paul Allouche suggested, we can create a word of 3
+letters with \{0; 1; 2\} that can draw the Fibonacci fractal with the simplest drawing rules
+following:
+
+\begin{itemize}
+\item 0, draw a segment in line with the previous one
+\item 1, draw a segment by turning to the right
+\item 2, draw a segment by turning to the left
+\end{itemize}
+\end{quote}
+
+
+By replacing in the Fibonacci word 00$\rightarrow$0, 01$\rightarrow$1 and 10$\rightarrow$2. Alexis Monnerot-Dumaine
+defines the ``Dense Fibonacci Word'' (DFW).
+From the DFW, we get a whole family of curves by doing, for example, substitutions
+following:
+
+\begin{itemize}
+  \item $\mu_1$ : $1 \longrightarrow  10$ ; $0 \longrightarrow  12$ ; $2 \longrightarrow  02$
+  \item $\mu_2$ : $1 \longrightarrow  010$ ; $0 \longrightarrow  0102$ ; $2 \longrightarrow  002$
+  \item $\mu_3$ : $1 \longrightarrow  02$ ; $0 \longrightarrow  21$ ; $2 \longrightarrow  10$
+  \item $\mu_4$ : $1 \longrightarrow  02$ ; $0 \longrightarrow  00$ ; $2 \longrightarrow  10$
+\end{itemize}
+
+We will find all these families of curves with explanations and references in the article
+Alexis Monnerot-Dumaine. These are just brief explanations for using the commands
+PSTricks to draw these families of curves. In their article "Properties and Gener-
+Fractal Exploring Fractal Curves ``alizations of the Fibonacci'' \cite{ramirez} illustrate this 
+family of curves with Mathematica by designating them under the name of 
+New-Fibonacci. This name seems to me sensible the PSTricks command will be called \Lcs{psNewFibonacci}.
+
+
+\subsection{``Dense Fibonacci Word''}
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid=false](-1,-0.2)(10,2)
+\uput[r](-0.5,1){FW=}%
+\psFibonacciWord[n=10,fontscale=12](0.5,0.9)
+\uput[r](-0.75,0){DFW=}%
+\psFibonacciWord[n=10,DFW,fontscale=12](0.5,-0.1)
+\end{pspicture}
+\end{LTXexample}
+
+
+
+\subsection{Fractal of ``\textit{Dense Fibonacci Word}''}
+
+The curve can be created with \verb+\psNewFibonacci+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid](-3,0)(10,11)
+\psNewFibonacci[unit=0.2,linecolor={[rgb]{0.5 0 0}},n=17,linewidth=0.03cm]
+\rput(4,4){n=17}
+\end{pspicture}
+\end{LTXexample}
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid](-4,0)(6,10)
+\psNewFibonacci[unit=0.2,linecolor={[rgb]{0.5 0 0}},n=17,linewidth=0.03cm,morphism=() (1) (2)]
+\rput(2,4){n=17}
+\end{pspicture}
+\end{LTXexample}
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid](-1,0)(15,6)
+\psNewFibonacci[unit=0.2,linecolor={[rgb]{0.5 0 0}},n=18,linewidth=0.03cm,morphism=(12) (1) (2)]
+\rput(4,2){n=18}
+\end{pspicture}
+\end{LTXexample}
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid](-7,0)(5,10)
+\psNewFibonacci[unit=0.1,linecolor={[rgb]{0.5 0 0}},n=17,linewidth=0.03cm,morphism=(102) (2) (1)]
+\rput(-2,4){n=17}
+\end{pspicture}
+\end{LTXexample}
+
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid](-7,0)(4,10)
+\psNewFibonacci[unit=0.1,linecolor={[rgb]{0.5 0 0}},n=17,linewidth=0.03cm,morphism=(210) (02) (10)]
+\rput(-2,4){n=17}
+\end{pspicture}
+\end{LTXexample}
+
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid](-5,0)(4,9)
+\psNewFibonacci[unit=0.1,linecolor={[rgb]{0.5 0 0}},n=17,linewidth=0.03cm,morphism=(21) (02) (10)]
+\rput(-1,4){n=17}
+\end{pspicture}
+\end{LTXexample}
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid](-10,0)(4,12)
+\psNewFibonacci[unit=0.1,linecolor={[rgb]{0.5 0 0}},n=17,linewidth=0.03cm,morphism=(210) (020) (10)]
+\rput(-4,4){n=17}
+\end{pspicture}
+\end{LTXexample}
+
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid](-10,0)(4,11)
+\psNewFibonacci[unit=0.075,linecolor={[rgb]{0.5 0 0}},n=18,linewidth=0.025cm,morphism=(102) (2) (1)]
+\rput(-4,2){n=18}
+\end{pspicture}
+\end{LTXexample}
+
+
+
+
+\section{The command \Lcs{psiFibonacci}}
+
+\subsection{How it works}
+Briefly, (read the article \cite{ramirez} for more details) more
+``I-Fibonacci Word'' depends on the parameter i and the number of iterations n with the following rules,
+according to the authors' notations:
+
+\begin{itemize}
+  \item $f_0^{[i]}$ =0
+  \item $f_1^{[i]} =0^{i-1}1$ : this notation means that it is necessary to put (i-1) 0 before the 1
+  \item $f_n^{[i]}= f_{n -1}^{[i]} f_{n -2}^{[i]}$ pour $n\geq 2$ et $i \geq 1$.
+\end{itemize}
+
+The construction of the associated fractal curves follows the ``even-odd'' rule as for the fractal
+of the word Fibonacci.
+
+
+
+\clearpage%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+\subsection{Examples}
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid](-7,0)(3,9)
+\psiFibonacci[unit=0.2,linecolor={[rgb]{0.5 0 0}},n=10,linewidth=0.025cm,i=3]
+\end{pspicture}
+\end{LTXexample}
+
+
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid](0,0)(9,9.5)
+\psiFibonacci[unit=0.2,linecolor={[rgb]{0.5 0 0}},n=10,linewidth=0.025cm,i=4]
+\end{pspicture}
+\end{LTXexample}
+
+
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid](-7,0)(3,9)
+\psiFibonacci[unit=0.15,linecolor={[rgb]{0.5 0 0}},n=10,linewidth=0.025cm,i=5]
+\end{pspicture}
+\end{LTXexample}
+
+
+
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid](0,0)(9,9.5)
+\psiFibonacci[unit=0.15,linecolor={[rgb]{0.5 0 0}},n=10,linewidth=0.025cm,i=6]
+\end{pspicture}
+\end{LTXexample}
+
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid](-6,0)(3,8)
+\psiFibonacci[unit=0.1,linecolor={[rgb]{0.5 0 0}},n=10,linewidth=0.025cm,i=7]
+\end{pspicture}
+\end{LTXexample}
+
+
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid](-8,0)(3,12)
+\psiFibonacci[unit=0.1,linecolor={[rgb]{0.5 0 0}},n=10,linewidth=0.025cm,i=11]
+\end{pspicture}
+\end{LTXexample}
+
+
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid](0,0)(6,14)
+\psiFibonacci[unit=0.05,linecolor={[rgb]{0.5 0 0}},n=12,linewidth=0.025cm,i=12]
+\end{pspicture}
+\end{LTXexample}
+
+
+\clearpage%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\section{The command \Lcs{pskFibonacci}}
+The 2 mandatory parameters are n and k. The following coordinates are optional but
+put, possibly, to center the curve at the origin of the mark.
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}(-4,-4)(4,4)
+\psgrid[gridlabels=0pt,subgriddiv=0,gridcolor=red,griddots=10]
+\pskFibonacci[unit=0.02,linecolor={[rgb]{0 0 0.5}},linewidth=0.02cm,n=6,k=5](-2.3,-3.2)
+\end{pspicture}
+\end{LTXexample}
+
+
+
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}(-4,-4)(4,4)
+\psgrid[gridlabels=0pt,subgriddiv=0,gridcolor=red,griddots=10]
+\pskFibonacci[unit=0.4,linecolor={[rgb]{0 0 0.5}},n=3,k=5](2.8,-3.6)
+\end{pspicture}
+\end{LTXexample}
+
+
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}(-4,-4)(4,4)
+\psgrid[gridlabels=0pt,subgriddiv=0,gridcolor=red,griddots=10]
+\pskFibonacci[unit=0.025,linecolor={[rgb]{0 0 0.5}},linewidth=0.02cm,n=6,k=6](3,0.5)
+\end{pspicture}
+\end{LTXexample}
+
+
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}(-4,-4)(4,4)
+\psgrid[gridlabels=0pt,subgriddiv=0,gridcolor={[rgb]{0 0 0.5}},griddots=10]
+\pskFibonacci[unit=0.2,linecolor={[rgb]{0 0 0.5}},n=4,k=6,angle=60](-2,0)
+\end{pspicture}
+\end{LTXexample}
+
+
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}(-4,-4)(2,1)
+\psgrid[gridlabels=0pt,subgriddiv=0,gridcolor=red,griddots=10]
+\pskFibonacci[unit=0.1,linecolor={[rgb]{0 0 0.5}},n=4,k=4,angle=60](0,0)
+\end{pspicture}
+\end{LTXexample}
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}(-8,-8)(8,8)
+\psgrid[gridlabels=0pt,subgriddiv=0,gridcolor={[rgb]{0 0 0.5}},griddots=10]
+\pskFibonacci[unit=0.02,linecolor={[rgb]{0.5 0 0}},linewidth=0.02cm,n=6,k=7](6,-4)
+\end{pspicture}
+\end{LTXexample}
+
+
+
+
+\clearpage%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\section{The command \Lcs{psBiperiodicFibonacci}}
+The 3 mandatory parameters are n, a and b. As for the previous command, the coordinates
+following are optional but allow, eventually, to center the curve at the origin of the
+mark.
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid=false](-4,-4)(4,4)
+\psgrid[gridlabels=0pt,subgriddiv=0,gridcolor=red,griddots=10]
+\psBiperiodicFibonacci[unit=0.2,linecolor={[rgb]{0 0.5 0}},linewidth=0.1cm,n=5,a=6,b=6,angle=60](0,2.1)
+\psBiperiodicFibonacci[unit=0.2,linecolor=white,n=5,a=6,b=6,angle=60](0,2.1)
+\end{pspicture}
+\end{LTXexample}
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid=false](-4,-4)(4,4)
+\psgrid[gridlabels=0pt,subgriddiv=0,gridcolor=red,griddots=10]
+\psBiperiodicFibonacci[unit=0.5,linecolor={[rgb]{0 0.5 0}},n=5,a=3,b=4,angle=120](-1.5,3.5)
+\end{pspicture}
+\end{LTXexample}
+
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid=false](-4,-4)(4,4)
+\psgrid[gridlabels=0pt,subgriddiv=0,gridcolor=red,griddots=10]
+\psBiperiodicFibonacci[unit=0.2,linecolor=black,linewidth=0.1cm,n=7,a=2,b=6,angle=72](2.62,2)
+\psBiperiodicFibonacci[unit=0.2,linecolor=yellow,n=7,a=2,b=6,angle=72](2.62,2)
+\end{pspicture}
+\end{LTXexample}
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid=false](-5,-4)(5,4)
+\psgrid[gridlabels=0pt,subgriddiv=0,gridcolor=red,griddots=10]
+\psBiperiodicFibonacci[unit=0.1,linecolor=red,linewidth=0.1cm,n=10,a=2,b=5](3.5,-1.5)
+\psBiperiodicFibonacci[unit=0.1,linecolor=yellow,n=10,a=2,b=5](3.5,-1.5)
+\end{pspicture}
+\end{LTXexample}
+
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}(-5,-5)(5,5)
+\psgrid[gridlabels=0pt,subgriddiv=0,gridcolor=red,griddots=10]
+\psBiperiodicFibonacci[unit=0.15,linecolor={[rgb]{0 0.5 0}},n=9,a=2,b=5](3.15,-1.35)
+\end{pspicture}
+\end{LTXexample}
+
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}(-5,-5)(5,5)
+\psBiperiodicFibonacci[unit=0.8,linecolor=black,linewidth=0.1cm,,n=8,a=2,b=3,angle=120](-1,1)
+\psBiperiodicFibonacci[unit=0.8,linecolor=white,n=8,a=2,b=3,angle=120](-1,1)
+\end{pspicture}
+\end{LTXexample}
+
+
+
+\section{The command \Lcs{psFibonacciPolyominoes}}
+
+
+The only mandatory parameter is the order of the tile: n. Coordinates are optional, but
+they will be used for paving the plan.
+
+
+
+\subsection{The order 0, 1, 2, 3, and 4}
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\psset{linecolor={[rgb]{0 0.5 0}},fillstyle=solid,fillcolor=red}
+\begin{pspicture}[showgrid](0,-1)(1,4)
+\psFibonacciPolyominoes[n=0,unit=0.5]
+\end{pspicture}
+\quad
+\begin{pspicture}[showgrid](-2,-1)(1,4)
+\psFibonacciPolyominoes[n=1,unit=0.5]
+\end{pspicture}
+\quad
+\begin{pspicture}[showgrid](-3,-1)(2,4)
+\psFibonacciPolyominoes[unit=0.5,n=2]
+\end{pspicture}
+\quad
+\begin{pspicture}[showgrid](-3,-1)(2,4)
+\psFibonacciPolyominoes[unit=0.2cm,n=3]
+\end{pspicture}
+\end{LTXexample}
+
+
+
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}[showgrid](-7,-2)(4,10)
+\psFibonacciPolyominoes[unit=0.2,n=4,fillcolor=cyan,linecolor=blue,fillstyle=solid]
+\end{pspicture}
+\end{LTXexample}
+
+
+
+\iffalse
+
+
+\subsection{Paving the plan with Fibonacci tiles}
+This tiling is done with the \Lcs{pSTilingsFibonacci}\Largb{n}\Largb{N}\Largb{T} command which has 3 arguments: the
+first is the order of the tile (n = 0, 1, 2 etc.), the second the number of tiles per side of the square,
+preferably it must be odd and T = 1 or 2 defines the type of paving. For tiles to be
+colored, activate the \texttt{fillstyle=solid} option in a pre-command.
+
+
+\begin{verbatim}
+\def\pSTilingsFibonacci#1#2#3{% #1=n #2=nbre de lignes #3=type 1 ou 2
+  \pstFPDiv\Nbr{#2}{2}%
+  \psset[pst-fractal]{n=#1}%
+  \pstVerb{/n0 #1 def /tabPell [0 1 2 5 12 29 70 169 408] def
+    /Type #3 def
+    Type 2 gt {/Type 1 def} if
+    Type 2 eq {
+	% (-1)^2P(n),(P(n+1)
+         /Y1 tabPell n0 1 add get def
+         /X1 -1 n0 exp tabPell n0 get mul def
+    }{
+	% (P(n+1),(-1)^2P(n)
+         /X1 tabPell n0 1 add get def
+         /Y1 -1 n0 exp tabPell n0 get mul def
+    } ifelse
+    % le déplacement perpendiculaire
+    /X2 Y1 neg def
+    /Y2 X1 def
+}%
+\pstVerb{/ListColors [0 0 1] def}%
+\multido{\I=-\Nbr+1}{#2}{5
+  \rput(!X2 \I\space mul Y2 \I\space mul){%
+    \multido{\i=-\Nbr+1}{#2}{%
+%\definecolor[ps]{Couleur}{rgb}{ListColors aload pop}%
+      \definecolor[ps]{Couleur}{cmyk}{ListColors aload pop 0}%
+      \rput(!X1 \i\space mul Y1 \i\space mul){\psFibonacciPolyominoes[fillcolor=Couleur]}
+      \pstVerb{/ListColors [ListColors aload pop 3 1 roll] def}%
+}}}}%
+\end{verbatim}
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture*}(-9,-7)(8,9)
+\psset{unit=0.125,linestyle=solid}
+\pSTilingsFibonacci{3}{13}{1}%
+\psset{fillstyle=solid,linecolor=blue}%
+\pSTilingsFibonacci{3}{7}{1}%
+\end{pspicture*}
+\end{LTXexample}
+
+
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture*}(-9,-7)(8,9)
+\psset{unit=0.125,linestyle=solid}
+\pSTilingsFibonacci{3}{13}{2}%
+\psset{fillstyle=solid,linecolor=blue}%
+\pSTilingsFibonacci{3}{7}{2}%
+\end{pspicture*}
+\end{LTXexample}
+
+
+\clearpage%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\fi
+
+
+\section{The command \Lcs{psFibonacciWord}}
+
+\psset{unit=1cm}
+\begin{LTXexample}
+\begin{pspicture}(-1,0)(10,5)
+\rput(0.15,5){\small$F_{1}=1$}
+\rput(0.15,4.5){\small$F_{2}=0$}
+\multido{\i=3+1,\I=3+1,\n=4.0+-0.5}{8}{%
+  \psFibonacciWord[n=\i](0.5,\n)
+  \rput(0,\n){$F_{\I}=$}}
+\end{pspicture}
+\end{LTXexample}
+
+
+\begin{LTXexample}
+\begin{pspicture}(-1,0)(10,6)
+\psset{n=5}
+\multido{\i=1+1,\I=1+1,\n=3.5+-0.5}{6}{%
+\psFibonacciWord[i=\i,iFibonacci](0.5,\n\space 0.1 sub)
+\rput(0,\n){$F_{5}^{[\i]}=$}
+}
+\end{pspicture}
+\end{LTXexample}
+
+
 \section{List of all optional arguments for \texttt{pst-fractal}}
 
+
 \xkvview{family=pst-fractal,columns={key,type,default}}
 
-\bgroup
 \nocite{*}
 \printbibliography
-\egroup
 
 \printindex
 

Modified: trunk/Master/texmf-dist/dvips/pst-fractal/pst-fractal.pro
===================================================================
--- trunk/Master/texmf-dist/dvips/pst-fractal/pst-fractal.pro	2017-12-03 22:18:07 UTC (rev 45976)
+++ trunk/Master/texmf-dist/dvips/pst-fractal/pst-fractal.pro	2017-12-03 22:18:59 UTC (rev 45977)
@@ -1,4 +1,4 @@
-%% $Id: pst-fractal.pro 659 2017-11-26 16:58:16Z herbert $
+%% $Id: pst-fractal.pro 673 2017-12-02 22:04:41Z herbert $
 %%
 %% This is file `pst-fractal.pro',
 %%
@@ -16,7 +16,7 @@
 %%   `pst-fractal' is a PSTricks package to draw fractal objects
 %%
 %%
-%% version 0.04 / 2017-11-26  Herbert Voss <hvoss _at_ tug.org>
+%% version 0.05 / 2017-12-02  Herbert Voss <hvoss _at_ tug.org>
 %
 /tx at fractalDict 100 dict def
 tx at fractalDict begin
@@ -130,16 +130,6 @@
   } repeat
 } def
 %
-/append {
-% macro de Jean-Paul Vignault
-% extraite de pst-solides3d.pro
-  3 dict begin
-      /tab2 exch def
-      /tab1 exch def
-      [ tab1 aload pop tab2 aload pop ]
-  end
-} def
-%
 /Rot-90 {
   2 dict begin
   /y exch def /x exch def
@@ -148,12 +138,11 @@
   end
 } def
 %
-/makeSierVariables {
-  /Pi [1.5 unit 1 unit
-     1 unit 0.5 unit
-     1 unit -0.5 unit
-     1.5 unit -1 unit     
-  ] def
+/tx at SierpinskiCurve { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  /Pi [1.5 cmunit 1 cmunit
+     1 cmunit 0.5 cmunit
+     1 cmunit -0.5 cmunit
+     1.5 cmunit -1 cmunit ] def
 %
   /P0 Pi def
   /coefficient 1 def
@@ -164,40 +153,77 @@
         Pi i get Pi i 1 add get Rot-90
       } for
     ]  /Pi exch def
-    P0 Pi append /P0 exch def
-    } repeat
+    P0 Pi concatarray /P0 exch def
+  } repeat
 %
 /P1 {[
   0 2 P0 length 2 sub {/i exch def
     P0 i get P0 i 1 add get % Rot-90
-    -2 unit coefficient mul add exch
-    -2 unit coefficient mul add exch
+    -2 cmunit coefficient mul add exch
+    -2 cmunit coefficient mul add exch
   } for
 ] } def
 %
 /P2 {[
-0 2 P0 length 2 sub {/i exch def
-P0 i get P0 i 1 add get Rot-90
- 2 unit coefficient mul add exch
--2 unit coefficient mul add exch
-} for
-] }def
+  0 2 P0 length 2 sub {
+    /i exch def
+    P0 i get P0 i 1 add get Rot-90
+    2 cmunit coefficient mul add exch
+   -2 cmunit coefficient mul add exch
+   } for ]
+} def
 %
 /P3 {[
-0 2 P0 length 2 sub {/i exch def
-P0 i get P0 i 1 add get Rot-90 Rot-90
- 2 unit coefficient mul add exch
-2 unit coefficient mul add exch
-} for
+  0 2 P0 length 2 sub {
+    /i exch def
+    P0 i get P0 i 1 add get Rot-90 Rot-90
+    2 cmunit coefficient mul add exch
+    2 cmunit coefficient mul add exch
+  } for
 ] } def
 %
 /P4 {[
    0 2 P0 length 2 sub {/i exch def
      P0 i get P0 i 1 add get Rot-90 Rot-90 Rot-90
-     -2 unit coefficient mul add exch
-     2 unit coefficient mul add exch
+     -2 cmunit coefficient mul add exch
+     2 cmunit coefficient mul add exch
    } for
 ] } def
+  n@ 1 eq {/Sierpinsky P0 def}{
+      n@ 1 sub {
+        /Sierpinsky P1 P2 concatarray P3 concatarray P4 concatarray def
+    /Tab1 [
+      0 2 Sierpinsky length 2 sub {/i exch def
+        Sierpinsky i 2 getinterval
+      } for
+    ] def
+    /i@ Sierpinsky length 8 div 2.5 mul cvi def %
+    /Sierpinsky2 [
+      Tab1 length {
+        Tab1 i@ get
+        /i@ i@ 1 add def
+        i@ Tab1 length ge {/i@ 0 def} if
+      }repeat
+    ] def
+    /P0 [
+      0 1 Sierpinsky2 length 1 sub {/i exch def
+        Sierpinsky2 i get aload pop
+      } for
+    ] def
+    /coefficient coefficient 2 mul def
+    } repeat    
+  } ifelse
+%
+    newpath
+    Sierpinsky 0 get Sierpinsky 1 get moveto
+      0 2 Sierpinsky length 2 sub {/i exch def
+      i 2 div Npts ge {exit} if
+      Sierpinsky i get Sierpinsky i 1 add get lineto
+    } for
+    Npts 4 n@ 1 add exp cvi ge { closepath } if
+    useFill { gsave fillColor fill grestore } if 
+%
+    useLineStyle
 } def 
 %
 /tx at Phyllotaxis { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
@@ -518,4 +544,341 @@
 drawfractal  
 } def  % end of /tx at Hugo
 %
+/FibonacciFractal {
+  20 dict begin
+  n@ 2 sub {
+	/Fi F2 F1 concatstrings def
+	/F1 F2 def
+	/F2 Fi def
+      } repeat
+    /S Fi def
+    /nS S length def % nombre de lettres
+    0 1 nS 2 sub {/j exch def
+      x1 y1 translate
+      /x0 0 def /y0 0 def
+      /k S j 1 getinterval cvi def
+      k 0 eq {
+	j 2 mod 0 eq {
+          angle neg rotate
+          tx  ty lineto
+          currentpoint /y1 exch def /x1 exch def
+          /flag 0 def
+        }{
+          angle rotate
+          tx ty lineto
+          currentpoint /y1 exch def /x1 exch def
+          /flag 1 def
+        } ifelse
+      }{
+	tx ty lineto
+	currentpoint /y1 exch def /x1 exch def
+	/flag 2 def
+      } ifelse
+    } for
+    setLineColor
+    stroke
+    Pst at juxtaposition {
+    x1 y1 translate
+    flag 1 eq {-1 1 scale} if
+    flag 2 eq {90 rotate 1 -1 scale } if
+    0 0 moveto
+    /x0 0 def /y0 0 def
+    /F1 (1) def
+    /F2 (0) def
+    /x1 0 def /y1 1 cmunit def
+    x1 y1 lineto
+    n@ 3 sub{
+      /Fi F2 F1 concatstrings def
+      /F1 F2 def
+      /F2 Fi def
+    } repeat
+    /S Fi def
+    /nS S length def % nombre de lettres
+    0 1 nS 2 sub {/j exch def
+      x1 y1 translate
+      /x0 0 def /y0 0 def
+      /k S j 1 getinterval cvi def
+      k 0 eq {
+	j 2 mod 0 eq {
+          -90 rotate
+          tx  ty lineto
+          currentpoint /y1 exch def /x1 exch def
+        }{
+          90 rotate
+          tx ty lineto
+          currentpoint /y1 exch def /x1 exch def
+        } ifelse
+      }{
+	tx ty lineto
+	currentpoint /y1 exch def /x1 exch def
+      } ifelse
+    } for
+    ColorF
+    stroke
+    } if % end Pst at juxtaposition
+    end
+} def
+%
+/newFibonacciFractal {
+  20 dict begin
+  n@ 2 sub {
+    /Fi F2 F1 concatstrings def
+    /F1 F2 def
+    /F2 Fi def
+  } repeat
+  % The Dense Fibonacci Word
+  /DFW () def
+  0 2 F2 length 2 sub {
+    /i exch def
+    /I F2 i 2 getinterval def
+    I (00) eq {DFW (0) concatstrings /DFW  exch def } if
+    I (01) eq {DFW  (1) concatstrings /DFW  exch def } if
+    I (10) eq {DFW  (2) concatstrings /DFW  exch def } if
+  } for
+% morphismes
+% newFibonacci
+% 0->"", 1->1, 2->2
+  /F2 DFW def
+  /Fi () def
+  0 1 F2 length 1 sub {
+    /i exch def
+    /I F2 i 1 getinterval def
+    I (0) eq {Fi m at 0 concatstrings /Fi exch def} if
+    I (1) eq {Fi m at 1 concatstrings /Fi exch def} if
+    I (2) eq {Fi m at 2 concatstrings /Fi exch def} if
+  } for
+  /S Fi def
+  /nS S length def % nombre de lettres
+  0 1 nS 1 sub {
+    /j exch def
+    x1 y1 translate
+    /x0 0 def /y0 0 def
+    /k S j 1 getinterval cvi def
+    k 1 eq {angle neg rotate
+      tx  ty lineto
+      currentpoint /y1 exch def /x1 exch def
+    } if
+    k 2 eq { angle rotate
+      tx  ty lineto
+      currentpoint /y1 exch def /x1 exch def
+    } if
+    k 0 eq {
+      tx  ty lineto
+      currentpoint /y1 exch def /x1 exch def
+    } if
+  } for
+  setLineColor
+  stroke
+  end
+} def
+%
+/i-FibonacciFractal {
+  20 dict begin
+  /F0 (0) def
+  /Fi () def
+  i@ 1 sub { 
+    Fi (0) concatstrings /Fi exch def
+  } repeat
+  Fi (1) concatstrings
+  /F1 exch def
+  n@ {
+    F1 F0 concatstrings
+    /Fi exch def
+    /F0 F1 def
+    /F1 Fi def
+  } repeat
+  /S Fi def
+  0 0 translate
+  0 0 moveto
+  currentpoint /y0 exch def /x0 exch def
+  0 1 cmunit lineto
+  currentpoint /y1 exch def /x1 exch def
+  /tx {x1 x0 sub} def
+  /ty {y1 y0 sub} def
+%
+  /nS S length def % nombre de lettres
+  0 1 nS 2 sub {
+    /j exch def
+    x1 y1 translate
+    /x0 0 def /y0 0 def
+  /k S j 1 getinterval cvi def
+  k 0 eq {
+    j 2 mod 0 eq {
+              angle neg rotate
+              tx  ty lineto
+              currentpoint /y1 exch def /x1 exch def
+    }{
+              angle rotate
+              tx ty lineto
+              currentpoint /y1 exch def /x1 exch def
+    } ifelse
+  }{
+    tx ty lineto
+    currentpoint /y1 exch def /x1 exch def
+   } ifelse
+  } for
+  setLineColor
+  stroke
+  end
+} def
+%
+/k-FibonacciFractal {
+  20 dict begin
+  /f0 (0) def
+  /fi (0) def
+  k@ 2 sub {
+    fi (0) concatstrings /fi exch def
+  } repeat
+  fi (1) concatstrings
+  /f1 exch def
+  /fi f1 def
+  n@ 1 sub {
+    k@ 1 sub { f1 fi concatstrings /f1 exch def } repeat
+    f1 f0 concatstrings /f1 exch def
+     /f0 fi def
+    /fi f1 def
+  } repeat
+  /S f1 def
+  t at x cmunit_1 28.45 mul t at y cmunit_1 28.45 mul translate
+  0 0 moveto
+  currentpoint /y0 exch def /x0 exch def
+  0 1 cmunit lineto
+  currentpoint /y1 exch def /x1 exch def
+  /tx {x1 x0 sub} def
+  /ty {y1 y0 sub} def
+  /nS S length def % nombre de lettres
+  0 1 nS 1 sub {/j exch def
+  x1 y1 translate
+  /x0 0 def /y0 0 def
+  /k S j 1 getinterval cvi def
+  k 0 eq {
+  j 2 mod 0 eq {
+              angle neg rotate
+              tx  ty lineto
+              currentpoint /y1 exch def /x1 exch def
+              }
+             {
+              angle rotate
+              tx ty lineto
+              currentpoint /y1 exch def /x1 exch def
+              }
+             ifelse
+} {
+    tx ty lineto
+    currentpoint /y1 exch def /x1 exch def
+    } ifelse
+  } for
+  setLineColor
+  stroke
+  end
+} def
+%
+/Biperiodic-FibonacciWords {
+  20 dict begin
+/f0 () def
+/f1 (0) def
+/f2 a@ 1 sub {(0) f0 concatstrings /f0 exch def} repeat f0 (1) concatstrings def
+3 1 n@ {/i exch def
+/fi () def
+i 2 mod 0 eq {
+ a@ { fi f2 concatstrings /fi exch def } repeat
+ }{
+ b@ { fi f2 concatstrings /fi exch def } repeat
+ } ifelse
+ fi f1 concatstrings /fi exch def
+ /f1 f2 def
+ /f2 fi def
+} for
+/S f2 def
+t at x cmunit_1 28.45 mul t at y cmunit_1 28.45 mul translate
+0 0 moveto
+currentpoint /y0 exch def /x0 exch def
+1 cmunit 0 cmunit lineto
+currentpoint /y1 exch def /x1 exch def
+/tx {x1 x0 sub} def
+/ty {y1 y0 sub} def
+/nS S length def % nombre de lettres
+0 1 nS 1 sub {/j exch def
+x1 y1 translate
+/x0 0 def /y0 0 def
+/k S j 1 getinterval cvi def
+k 0 eq {
+j 2 mod 0 eq {
+              angle neg rotate
+              tx  ty lineto
+              currentpoint /y1 exch def /x1 exch def
+              }
+             {
+              angle rotate
+              tx ty lineto
+              currentpoint /y1 exch def /x1 exch def
+              }
+             ifelse
+} {
+tx ty lineto
+currentpoint /y1 exch def /x1 exch def
+} ifelse
+} for
+    setLineColor
+stroke
 end
+ }def
+%
+/InverseLR {
+      1 dict begin
+	/str exch def
+	0 1 str length 1 sub {/i exch def
+	  str i 1 getinterval (L) eq {str i (R) putinterval }{str i (L) putinterval }ifelse
+	} for
+	str
+      end
+} def
+%
+/FibonacciPolyominoes {
+  20 dict begin
+  gsave
+  t at x  t at y translate
+  /q0 () def
+  /q1 (R) def
+  /N n@ 3 mul 1 add def
+  2 1 N {
+    /n exch def
+    n 3 mod 2 eq {/qi q1 q0 concatstrings def}
+               {/qi q1 q0 InverseLR concatstrings def} ifelse
+    /q0 q1 def
+    /q1 qi def
+  } for
+  /q_1 q1 reversestring def
+  /qii () def
+  /Q 3 {qii q1 concatstrings /qii exch def } repeat 
+    qii q_1 reversestring concatstrings def
+% remarque
+% identique /Q 4{qii q1 concatstrings /qii exch def} repeat qii def
+  /tx {x1 x0 sub} def
+  /ty {y1 y0 sub} def
+  /y0 0 def /x0 0 def
+  /x1 x0 0 cmunit add def /y1 y0 1 cmunit add def
+  newpath
+  x0 y0 moveto
+  x1 y1 lineto
+  0 1 Q length 1 sub {/i exch def
+         x1 y1 translate
+  Q i 1 getinterval (L) eq {
+         90  rotate
+         tx  ty lineto
+         currentpoint /y1 exch def /x1 exch def
+         }{
+         90 neg rotate
+         tx  ty lineto
+         currentpoint /y1 exch def /x1 exch def
+         }ifelse
+       } for
+  closepath
+  setFillColor
+  setLineColor
+  grestore
+  end
+} def
+
+%
+end
\ No newline at end of file

Modified: trunk/Master/texmf-dist/tex/generic/pst-fractal/pst-fractal.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pst-fractal/pst-fractal.tex	2017-12-03 22:18:07 UTC (rev 45976)
+++ trunk/Master/texmf-dist/tex/generic/pst-fractal/pst-fractal.tex	2017-12-03 22:18:59 UTC (rev 45977)
@@ -1,4 +1,4 @@
-%% $Id: pst-fractal.tex 659 2017-11-26 16:58:16Z herbert $
+%% $Id: pst-fractal.tex 673 2017-12-02 22:04:41Z herbert $
 %%
 %% This is file `pst-fractal.tex',
 %%
@@ -22,8 +22,8 @@
 \ifx\PSTricksAddLoaded\endinput\else\input pstricks-add.tex\fi
 \ifx\PSTXKeyLoaded\endinput\else    \input pst-xkey \fi
 %
-\def\fileversion{0.08}
-\def\filedate{2017/11/26}
+\def\fileversion{0.09}
+\def\filedate{2017/12/02}
 \message{`PST-fractal' v\fileversion, \filedate\space (hv)}
 %
 \edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
@@ -73,8 +73,221 @@
 \define at key[psset]{pst-fractal}{dotcolor}{\pst at getcolor{#1}\psdotcolor}
 \define at key[psset]{pst-fractal}{N}{\def\pst at fractal@N{#1}}  
 \psset[pst-fractal]{n=3,N=all,dotcolor=red}
+
+\define at key[psset]{pst-fractal}{i}{\def\pst at fractal@i{#1 }} % i-Fibonacci
+\define at key[psset]{pst-fractal}{morphism}{\def\pst at fractal@morphism{#1}} % les substitutions
+\define at boolkey[psset]{pst-fractal}[Pst@]{juxtaposition}[true]{} %
+\define at key[psset]{pst-fractal}{colorF}{\pst at getcolor{#1}\pscolorF}
+\psset[pst-fractal]{morphism=(0) (1) (2),juxtaposition=false,colorF=red,i=6}
+
 %===========================================================
 %
+\def\psFibonacci{\pst at object{psFibonacci}}
+\def\psFibonacci at i{%
+  \addbefore at par{n=10, angle=90}%
+  \begin at SpecialObj
+  \addto at pscode{
+    /cmunit {\pst at number\psunit mul} bind def % mise à l'échelle
+    /angle \pst at fractal@angle def
+    /n@ \pst at fractal@n def
+    n@ 3 le {/n@ 3 def} if
+    /ColorF { \pst at usecolor\pscolorF } def
+    /setLineColor { \pst at usecolor\pslinecolor } def
+    /Pst at juxtaposition \ifPst at juxtaposition true \else false \fi def
+    /F1 (1) def
+    /F2 (0) def
+    /tx { x1 x0 sub } def
+    /ty { y1 y0 sub } def
+    /x0 0 def /y0 0 def
+    x0 y0 moveto
+    /x1 0 def /y1 1 cmunit def
+    x1 y1 lineto
+    tx at fractalDict begin FibonacciFractal end
+  }%
+  \showpointsfalse
+  \end at SpecialObj
+  \ignorespaces}
+%
+%
+\def\psNewFibonacci{\def\pst at par{}\pst at object{psNewFibonacci}}
+\def\psNewFibonacci at i{%
+  \addbefore at par{n=10, angle=90}%
+  \begin at SpecialObj
+  \addto at pscode{
+    /cmunit {\pst at number\psunit mul} bind def % mise \xE0 l'\xE9chelle
+    /angle \pst at fractal@angle def
+    /n@ \pst at fractal@n def
+    n@ 3 le {/n@ 3 def} if
+    /morhism [\pst at fractal@morphism] def
+    /setLineColor { \pst at usecolor\pslinecolor } def
+    /m at 0 morhism 0 get def
+    /m at 1 morhism 1 get def
+    /m at 2 morhism 2 get def
+    /F1 (1) def
+    /F2 (0) def
+    /tx {x1 x0 sub} def
+    /ty {y1 y0 sub} def
+    /x0 0 def /y0 0 def
+    x0 y0 moveto
+    /x1 0 def /y1 1 cmunit def
+    x1 y1 lineto
+    tx at fractalDict begin newFibonacciFractal end
+  }%
+  \showpointsfalse
+  \end at SpecialObj
+  \ignorespaces}
+%
+% i-Fibonacci
+\def\psiFibonacci{\def\pst at par{}\pst at object{psiFibonacci}}
+\def\psiFibonacci at i{%
+  \addbefore at par{angle=90}%
+  \begin at SpecialObj
+  \addto at pscode{
+    /cmunit {\pst at number\psunit mul} def 
+    /angle \pst at fractal@angle def
+    /n@ \pst at fractal@n def
+    n@ 3 le {/n@ 3 def} if
+    /i@ \pst at fractal@i def
+    /setLineColor { \pst at usecolor\pslinecolor } bind def
+    tx at fractalDict begin i-FibonacciFractal end
+  }%
+  \showpointsfalse
+  \end at SpecialObj
+  \ignorespaces}
+%
+% 30 septembre 2017
+% k-Fibonacci
+\define at key[psset]{pst-fractal}{k}{\def\pst at fractal@k{#1 }} % k
+\psset[pst-fractal]{k=5}
+%
+\def\pskFibonacci{\def\pst at par{}\pst at object{pskFibonacci}}
+\def\pskFibonacci at i{\@ifnextchar({\pskFibonacci at ii}{\pskFibonacci at ii(0,0)}}
+\def\pskFibonacci at ii(#1){%
+  \addbefore at par{k=5,angle=90}%
+  \begin at SpecialObj
+  \pst@@getcoor{#1}%
+  \addto at pscode{
+     \pst at coor /t at y ED /t at x ED
+    /cmunit {\pst at number\psunit mul} bind def % mise \xE0 l'\xE9chelle
+    /cmunit_1 {\pst at number\psunit div} bind def % mise \xE0 l'\xE9chelle
+    /angle \pst at fractal@angle def
+    /n@ \pst at fractal@n def
+    /k@ \pst at fractal@k def
+    /setLineColor { \pst at usecolor\pslinecolor } def
+    tx at fractalDict begin k-FibonacciFractal end
+  }%
+  \showpointsfalse
+  \end at SpecialObj
+  \ignorespaces}
+%
+% 1 octobre 2017
+% Biperiodic-Fibonacci-Words
+\define at key[psset]{pst-fractal}{a}{\def\pst at fractal@a{#1 }} % k
+\psset[pst-fractal]{a=5}
+\define at key[psset]{pst-fractal}{b}{\def\pst at fractal@b{#1 }} % k
+\psset[pst-fractal]{b=5}
+%
+\def\psBiperiodicFibonacci{\def\pst at par{}\pst at object{psBiperiodicFibonacci}}
+\def\psBiperiodicFibonacci at i{\@ifnextchar({\psBiperiodicFibonacci at ii}{\psBiperiodicFibonacci at ii(0,0)}}
+\def\psBiperiodicFibonacci at ii(#1){%
+  \addbefore at par{a=5,b=5,angle=90,n=3,k=5}
+  \begin at SpecialObj
+  \pst@@getcoor{#1}%
+  \addto at pscode{
+    \pst at coor /t at y ED /t at x ED
+    /cmunit {\pst at number\psunit mul} bind def 
+    /cmunit_1 {\pst at number\psunit div} bind def 
+    /a@ \pst at fractal@a def
+    /b@ \pst at fractal@b def
+    /angle \pst at fractal@angle def
+    /n@ \pst at fractal@n def
+    /k@ \pst at fractal@k def
+    /setLineColor { \pst at usecolor\pslinecolor } def
+    tx at fractalDict begin Biperiodic-FibonacciWords end
+  }%
+  \showpointsfalse
+  \end at SpecialObj
+  \ignorespaces}
+%
+% 3 octobre 2017
+%
+\def\psFibonacciPolyominoes{\pst at object{psFibonacciPolyominoes}}
+\def\psFibonacciPolyominoes at i{\@ifnextchar({\psFibonacciPolyominoes at ii}{\psFibonacciPolyominoes at ii(0,0)}}
+\def\psFibonacciPolyominoes at ii(#1){%
+  \addbefore at par{n=3}
+  \begin at SpecialObj
+  \pst@@getcoor{#1}%
+  \addto at pscode{
+     \pst at coor /t at y ED /t at x ED
+    /cmunit {\pst at number\psunit mul} bind def % mise \xE0 l'\xE9chelle
+    /n@ \pst at fractal@n def
+    /setFillColor {
+      \ifx\psk at fillstyle\relax\else
+        gsave \pst at usecolor\psfillcolor fill grestore
+      \fi } def    
+    /setLineColor{ \ifx\pslinestyle\@none\else stroke \fi } def
+    tx at fractalDict begin FibonacciPolyominoes end
+  }%
+  \showpointsfalse
+  \end at SpecialObj
+  \ignorespaces}
+%
+% type de fonte et taille
+\define at boolkey[psset]{pst-fractal}[Pst@]{DFW}[true]{} %
+\define at boolkey[psset]{pst-fractal}[Pst@]{iFibonacci}[true]{} %
+\psset[pst-fractal]{DFW=false,iFibonacci=false} %
+%
+\def\psFibonacciWord{\pst at object{psFibonacciWord}}
+\def\psFibonacciWord at i{\@ifnextchar({\psFibonacciWord at ii}{\psFibonacciWord at ii(0,0)}}
+\def\psFibonacciWord at ii(#1,#2){%
+  \addbefore at par{%PSfont=Times-Roman,
+  fontscale=8}
+  \begin at SpecialObj
+  \addto at pscode{
+    /n@ \pst at fractal@n def
+    /i@ \pst at fractal@i def
+    n@ 3 le {/n@ 3 def} if
+    /cmunit {\pst at number\psunit mul} bind def % mise \xE0 l'\xE9chelle
+    /PSfont {\psk at PSfont} def
+    PSfont findfont \psk at fontscale scalefont setfont
+    /F1 (1) def
+    /F2 (0) def
+    n@ 2 sub{
+      /Fi F2 F1 concatstrings def
+      /F1 F2 def
+      /F2 Fi def
+    } repeat
+    \ifPst at DFW
+      /Fi () def
+      0 2 F2 length 2 sub {/i exch def
+        /I F2 i 2 getinterval def
+        I (00) eq {Fi (0) concatstrings /Fi exch def} if
+        I (01) eq {Fi (1) concatstrings /Fi exch def} if
+        I (10) eq {Fi (2) concatstrings /Fi exch def} if
+      } for
+    \fi
+    \ifPst at iFibonacci
+      /F0 (0) def
+      /Fi () def
+      i@ 1 sub {
+	Fi (0) concatstrings /Fi exch def
+      } repeat
+      Fi (1) concatstrings
+      /F1 exch def
+      n@ {
+        F1 F0 concatstrings
+	/Fi exch def
+	/F0 F1 def
+	/F1 Fi def
+      } repeat
+    \fi
+    #1 cmunit #2 cmunit moveto Fi show
+  }%
+  \showpointsfalse
+  \end at SpecialObj
+  \ignorespaces}
+
+%
 \def\psfractal{\pst at object{psfractal}}
 \def\psfractal at i{\@ifnextchar({\psfractal at ii}{\psfractal at ii(-1,-1)}}%
 \def\psfractal at ii(#1){\@ifnextchar({\psfractal at iii(#1)}{\psfractal at iii(#1)(1,1)}}% 
@@ -146,54 +359,29 @@
   \end at OpenObj%
 }
 %
-\def\psSier at vi{%  Siepinski curve
+\def\psSier at vi{%  Sierpinski curve
+  \addbefore at par{n=3,N=all,dotcolor=red}%
   \begin at SpecialObj
   \addto at pscode{
+    /useFill \ifx\psk at fillstylename\@none false \else true \fi def
+    /fillColor { \pst at usecolor\psfillcolor } def
+%      \else 
+%    /useFillColor { 
+%      \ifx\psk at fillstylename\@none 
+%      \else 
+%        gsave \pst at usecolor\psfillcolor fill grestore 
+%      \fi
+%    } def
+    /useLineStyle { \ifx\pslinestyle\@none\else \psls at solid stroke \fi } def
     /n@ \pst at fractal@n def
     /NbrePts (\pst at fractal@N) def
+    /dotcolor { \pst at usecolor\psdotcolor } def
+    /cmunit { \pst at number\psunit mul }  def 
     NbrePts (all) eq {/Npts 4 n@ 1 add exp cvi def}{/Npts NbrePts cvi def Npts 4 n@ 1 add exp gt {/Npts 4 n@ 1 add exp cvi def} if } ifelse
-    /dotcolor {\pst at usecolor\psdotcolor } def
-    /unit { \pst at number\psunit mul }  def 
-    tx at fractalDict begin
-    makeSierVariables
-%
-    n@ 1 eq {/Sierpinsky P0 def}{
-      n@ 1 sub {
-        /Sierpinsky P1 P2 append P3 append P4 append def
-%
-    /Tab1 [
-      0 2 Sierpinsky length 2 sub {/i exch def
-        Sierpinsky i 2 getinterval
-      } for
-    ] def
-    /i@ Sierpinsky length 8 div 2.5 mul cvi def %
-    /Sierpinsky2 [
-      Tab1 length {
-        Tab1 i@ get
-        /i@ i@ 1 add def
-        i@ Tab1 length ge {/i@ 0 def} if
-      }repeat
-    ] def
-%
-    /P0 [
-      0 1 Sierpinsky2 length 1 sub {/i exch def
-        Sierpinsky2 i get aload pop
-      } for
-    ] def
-    /coefficient coefficient 2 mul def
-    } repeat    } ifelse
-%
-    newpath
-    Sierpinsky 0 get Sierpinsky 1 get moveto
-      0 2 Sierpinsky length 2 sub {/i exch def
-      i 2 div Npts ge {exit} if
-      Sierpinsky i get Sierpinsky i 1 add get lineto
-    } for
-    Npts 4 n@ 1 add exp cvi ge {closepath} if
-    \ifx\psk at fillstyle\relax\else gsave \pst at usecolor\psfillcolor fill grestore\fi
-    \ifx\pslinestyle\@none\else \psls at solid stroke \fi
+    tx at fractalDict begin tx at SierpinskiCurve
     \ifshowpoints
-      0 2 Sierpinsky length 2 sub {/i exch def
+      0 2 Sierpinsky length 2 sub {
+        /i exch def
         i 2 div Npts ge {exit} if
         Sierpinsky i get
         Sierpinsky i 1 add get

Modified: trunk/Master/texmf-dist/tex/latex/pst-fractal/pst-fractal.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/pst-fractal/pst-fractal.sty	2017-12-03 22:18:07 UTC (rev 45976)
+++ trunk/Master/texmf-dist/tex/latex/pst-fractal/pst-fractal.sty	2017-12-03 22:18:59 UTC (rev 45977)
@@ -5,7 +5,7 @@
 \input{pst-fractal.tex}
 \IfFileExists{pst-fractal.pro}{%
   \ProvidesFile{pst-fractal.pro}
-    [2017/11/26 v. 0.04,  PostScript prologue file (hv)]
+    [2017/12/02 v. 0.05,  PostScript prologue file (hv)]
     \@addtofilelist{pst-fractal.pro}}{}%
 \ProvidesFile{pst-fractal.tex}
   [\filedate\space v\fileversion\space `PST-fractal' (hv)]



More information about the tex-live-commits mailing list