texlive[68585] Master/texmf-dist: proflycee (18oct23)

commits+karl at tug.org commits+karl at tug.org
Wed Oct 18 22:31:57 CEST 2023


Revision: 68585
          https://tug.org/svn/texlive?view=revision&revision=68585
Author:   karl
Date:     2023-10-18 22:31:57 +0200 (Wed, 18 Oct 2023)
Log Message:
-----------
proflycee (18oct23)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf
    trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex
    trunk/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty
    trunk/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-recreat.tex

Modified: trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex	2023-10-18 20:31:42 UTC (rev 68584)
+++ trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex	2023-10-18 20:31:57 UTC (rev 68585)
@@ -5,8 +5,8 @@
 % arara: lualatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)')
 
 \documentclass[a4paper,french,11pt]{article}
-\def\PLversion{2.7.8}
-\def\PLdate{8 octobre 2023}
+\def\PLversion{2.7.9}
+\def\PLdate{18 octobre 2023}
 \usepackage{amsfonts}
 \usepackage{ProfLycee}
 \useproflyclib{piton,minted,pythontex,ecritures}
@@ -144,12 +144,12 @@
 		keywordstyle={\color{violet}},%
 		classoffset=2,%
 		alsoletter={-},%
-		morekeywords={\ResolutionApprochee,\SolutionTVI,\CalculTermeRecurrence,\ToileRecurrence,\SolutionSeuil,\IntegraleApprochee,\GrilleTikz,\AxesTikz,\AxexTikz,\AxeyTikz,\FenetreTikz,\FenetreSimpleTikz,\DeclareFonctionTikz,\CourbeTikz,\OrigineTikz,\SplineTikz,\TangenteTikz,\MiniSchemaSignes,\MiniSchemaSignesTkzTab,\IntegraleApprocheeTikz,\CartoucheCapytale,\PaveTikz,\TetraedreTikz,\CercleTrigo,\AffPoint,\AffVecteur,\TrouveEqCartPlan,\TrouveEqParamDroite,\TrouveEqCartDroite,\TrouveNorme,\TrouveDistancePtPlan,\EquationReduite,\CalculsRegLin,\PointsRegLin,\NuagePointsTikz,\PointMoyenTikz,\BoiteMoustaches,\BoiteMoustachesAxe,\Histogramme,\CalcBinomP,\CalcBinomC,\BinomP,\BinomC,\CalcPoissP,\CalcPoissC,\PoissonP,\PoissonC,\CalcGeomP,\CalcGeomC,\GeomP,\GeomC,\CalcHypergeomP,\CalcHypergeomP,\HypergeomP,\HypergeomC,\CalcNormC,\NormaleC,\CalcExpoC,\ExpoC,\ArbreProbasTikz,\LoiNormaleGraphe,\LoiExpoGraphe,\NbAlea,\VarNbAlea,\TirageAleatoireEntiers,\Arrangement,\Combinaison,\ConversionDecBin,\ConversionBinHex,\ConversionVersDec,\ConversionHexBin,\ConversionBaseDix,\ConversionDepuisBaseDix,\PresentationPGCD,\EquationDiophantienne,\ConversionFraction,\SimplificationRacine,\EcritureEnsemble,\EcritureTrinome,\MesurePrincipale,\LigneTrigo,\SudoMaths,\FonctionRepartTikz,\IntervalleFF,\IntervalleFO,\IntervalleOF,\IntervalleOO,\RepereOij,\RepereOuv,\RepereOijk,\ReperePlan,\RepereEspace,\jfalg,\jfexp,\LoiNormale,\LoiBinomiale,\LoiPoisson,\LoiExpo,\LoiUnif,\Courbe,\Suite,\CoordPtPl,\CoordPtEsp,\CoordVecPl,\CoordVecEsp,\MatDeux,\Vecteur,\Esper,\Varianc,\EcType,\dx,\Integrale,\Modulo,\Arrondi,\CodePythonLstFichier,\CodePythonLstFichierAlt,\colorlet,\PtsDiscontinuite,\ListeDiviseurs,\ArbreDiviseurs
+		morekeywords={\ResolutionApprochee,\SolutionTVI,\CalculTermeRecurrence,\ToileRecurrence,\SolutionSeuil,\IntegraleApprochee,\GrilleTikz,\AxesTikz,\AxexTikz,\AxeyTikz,\FenetreTikz,\FenetreSimpleTikz,\DeclareFonctionTikz,\CourbeTikz,\OrigineTikz,\SplineTikz,\TangenteTikz,\MiniSchemaSignes,\MiniSchemaSignesTkzTab,\IntegraleApprocheeTikz,\CartoucheCapytale,\PaveTikz,\TetraedreTikz,\CercleTrigo,\AffPoint,\AffVecteur,\TrouveEqCartPlan,\TrouveEqParamDroite,\TrouveEqCartDroite,\TrouveNorme,\TrouveDistancePtPlan,\EquationReduite,\CalculsRegLin,\PointsRegLin,\NuagePointsTikz,\PointMoyenTikz,\BoiteMoustaches,\BoiteMoustachesAxe,\Histogramme,\CalcBinomP,\CalcBinomC,\BinomP,\BinomC,\CalcPoissP,\CalcPoissC,\PoissonP,\PoissonC,\CalcGeomP,\CalcGeomC,\GeomP,\GeomC,\CalcHypergeomP,\CalcHypergeomP,\HypergeomP,\HypergeomC,\CalcNormC,\NormaleC,\CalcExpoC,\ExpoC,\ArbreProbasTikz,\LoiNormaleGraphe,\LoiExpoGraphe,\NbAlea,\VarNbAlea,\TirageAleatoireEntiers,\Arrangement,\Combinaison,\ConversionDecBin,\ConversionBinHex,\ConversionVersDec,\ConversionHexBin,\ConversionBaseDix,\ConversionDepuisBaseDix,\PresentationPGCD,\EquationDiophantienne,\ConversionFraction,\SimplificationRacine,\EcritureEnsemble,\EcritureTrinome,\MesurePrincipale,\LigneTrigo,\SudoMaths,\FonctionRepartTikz,\IntervalleFF,\IntervalleFO,\IntervalleOF,\IntervalleOO,\RepereOij,\RepereOuv,\RepereOijk,\ReperePlan,\RepereEspace,\jfalg,\jfexp,\LoiNormale,\LoiBinomiale,\LoiPoisson,\LoiExpo,\LoiUnif,\Courbe,\Suite,\CoordPtPl,\CoordPtEsp,\CoordVecPl,\CoordVecEsp,\MatDeux,\Vecteur,\Esper,\Varianc,\EcType,\dx,\Integrale,\Modulo,\Arrondi,\CodePythonLstFichier,\CodePythonLstFichierAlt,\colorlet,\PtsDiscontinuite,\ListeDiviseurs,\ArbreDiviseurs,\FractaleTikz,\EtapesFloconKoch
 		},%
 		keywordstyle={\color{CouleurVertForet}},%
 		classoffset=3,%
 		alsoletter={-},%
-		morekeywords={minimum-decimal-digits,scale,nonamssymb,build,Precision,Intervalle,Variable,NomFct,NomSol,va,vb,Stretch,Balayage,Calculatrice,Majuscule,No,UNo,NomSuite,Simple,Exact,Conclusion,Sens,ResultatBrut,Methode,NbSubDiv,AffFormule,Expr,Signe,Variables,Affp,Affs,Epaisseur,Police,ElargirOx,ElargirOy,Labelx,Labely,AffLabel,PosLabelx,PosLabely,EchelleFleche,TypeFleche,PosGrad,HautGrad,AffGrad,AffOrigine,Annee,Trigo,Dfrac,Style,Coeffs,AffPoints,TaillePoints,xl,xr,Code,Racines,Largeur,Hauteur,Cadre,Fct,Nom,PosLabel,DecalLabel,TailleLabel,AffTermes,RemplirbOpacite,CouleurRemplissage,Lignes,Gobble,Alignement,Filigrane,BarreTitre,CouleurNombres,Centre,EspacementVertical,Label,Titre,Profondeur,Angle,Fuite,Sommets,Math,Aff,Plein,Cube,Alpha,Beta,Rayon,Marge,TailleValeurs,TailleAngles,CouleurFond,Decal,MoinsPi,AffAngles,AffTraits,AffValeurs,Equationcos,Equationsin,sin,cos,AffTraitsEq,CouleurSol,OptionCoeffs,SimplifCoeffs,Facteur,OptionCoeffs,Reel,Oppose,Rgras,SimplifCoeffs,VectDirecteur,NomCoeffa,NomCoeffb,NomCoeffr,NomCoeffrd,NomXmin,NomXmax,Ox,Oy,xg,yg,AffNom,Elevation,Moyenne,AffMoyenne,Pointilles,Valeurs,Elargir,Min,Max,DebutOx,FinOx,ListeCouleurs,ElargirX,ElargirY,LabelX,LabelY,GradX,GradY,AffEffectifs,PosEffectifs,Opacite,AffBornes,GrilleV,PoliceAxes,PoliceEffectifs,EpaisseurTraits,Unite,EspaceNiveau,EspaceFeuille,Type,PoliceProbas,InclineProbas,Fleche,StyleTrait,EpaisseurTrait,CouleurAire,CouleurCourbe,AfficheM,AfficheCadre,ValMin,ValMax,NbVal,Sep,Tri,Repetition,Notation,NotationAncien,Formule,AffBase,Details,BaseDep,Zeros,DecalH,DecalV,Noeud,Rect,CouleurRes,DecalRect,Rectangle,CouleurResultat,AfficheConclusion,AfficheDelimiteurs,Lettre,Inconnues,Entier,Cadres,PresPGCD,Mathpunct,Option,Alea,Anegatif,Crochets,Brut,Etapes,Epaisseurg,CouleurCase,CouleurTexte,NbSubCol,NbLig,NbCol,Legendes,PoliceLeg,ListeLegV,ListeLegH,DecalLegende,Couleur,Uno,Grille,ExtraGrilleY,PosLegende,Pointilles,Extremite,Frac,PremLigne,Type,Pos,Echelle,AffNom,EspaceNiveau,CouleurDetails,Fleches,EspaceFeuille,Details},%
+		morekeywords={minimum-decimal-digits,scale,nonamssymb,build,Precision,Intervalle,Variable,NomFct,NomSol,va,vb,Stretch,Balayage,Calculatrice,Majuscule,No,UNo,NomSuite,Simple,Exact,Conclusion,Sens,ResultatBrut,Methode,NbSubDiv,AffFormule,Expr,Signe,Variables,Affp,Affs,Epaisseur,Police,ElargirOx,ElargirOy,Labelx,Labely,AffLabel,PosLabelx,PosLabely,EchelleFleche,TypeFleche,PosGrad,HautGrad,AffGrad,AffOrigine,Annee,Trigo,Dfrac,Style,Coeffs,AffPoints,TaillePoints,xl,xr,Code,Racines,Largeur,Hauteur,Cadre,Fct,Nom,PosLabel,DecalLabel,TailleLabel,AffTermes,RemplirbOpacite,CouleurRemplissage,Lignes,Gobble,Alignement,Filigrane,BarreTitre,CouleurNombres,Centre,EspacementVertical,Label,Titre,Profondeur,Angle,Fuite,Sommets,Math,Aff,Plein,Cube,Alpha,Beta,Rayon,Marge,TailleValeurs,TailleAngles,CouleurFond,Decal,MoinsPi,AffAngles,AffTraits,AffValeurs,Equationcos,Equationsin,sin,cos,AffTraitsEq,CouleurSol,OptionCoeffs,SimplifCoeffs,Facteur,OptionCoeffs,Reel,Oppose,Rgras,SimplifCoeffs,VectDirecteur,NomCoeffa,NomCoeffb,NomCoeffr,NomCoeffrd,NomXmin,NomXmax,Ox,Oy,xg,yg,AffNom,Elevation,Moyenne,AffMoyenne,Pointilles,Valeurs,Elargir,Min,Max,DebutOx,FinOx,ListeCouleurs,ElargirX,ElargirY,LabelX,LabelY,GradX,GradY,AffEffectifs,PosEffectifs,Opacite,AffBornes,GrilleV,PoliceAxes,PoliceEffectifs,EpaisseurTraits,Unite,EspaceNiveau,EspaceFeuille,Type,PoliceProbas,InclineProbas,Fleche,StyleTrait,EpaisseurTrait,CouleurAire,CouleurCourbe,AfficheM,AfficheCadre,ValMin,ValMax,NbVal,Sep,Tri,Repetition,Notation,NotationAncien,Formule,AffBase,Details,BaseDep,Zeros,DecalH,DecalV,Noeud,Rect,CouleurRes,DecalRect,Rectangle,CouleurResultat,AfficheConclusion,AfficheDelimiteurs,Lettre,Inconnues,Entier,Cadres,PresPGCD,Mathpunct,Option,Alea,Anegatif,Crochets,Brut,Etapes,Epaisseurg,CouleurCase,CouleurTexte,NbSubCol,NbLig,NbCol,Legendes,PoliceLeg,ListeLegV,ListeLegH,DecalLegende,Couleur,Uno,Grille,ExtraGrilleY,PosLegende,Pointilles,Extremite,Frac,PremLigne,Type,Pos,Echelle,AffNom,EspaceNiveau,CouleurDetails,Fleches,EspaceFeuille,Details,LongueurCote,Alig!
 nV,Offset,Remplir,Etape,Depart,Contour,Remplissage},%
 		keywordstyle={\color{orange!75!black}}
 		}
 	}
@@ -904,6 +904,10 @@
 %sudomaths
 \SudoMaths[options]{liste}
 \begin{EnvSudoMaths}[options]{grille}...\end{EnvSudoMaths}
+
+%fractales
+\FractaleTikz(*)[clés]<options tikz>
+\EtapesFloconKoch[clés]{étapes}
 \end{PresCodeTexPL}
 
 \newpage
@@ -7926,6 +7930,146 @@
 
 \newpage
 
+\section{Quelques fractales, en \TikZ}\label{fractales}
+
+\subsection{Introduction}
+
+\begin{tipblock}
+\cmaj{2.7.9} L'idée est de proposer de quoi représenter quelques fractales, créées avec la librairie \ctex{lindenmayersystems}.
+
+\smallskip
+
+Pour le moment, il est possible de :
+
+\begin{itemize}
+	\item tracer un flocon de Koch à une étape donnée ;
+	\item tracer un triangle de Sierpinski \textit{classique} ;
+	\item présenter différentes étapes successives des flocons de Koch.
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\begin{importantblock}
+Les figures sont créées en \TikZ, et peuvent être autonomes (sans environnement \ctex{tikzpicture}).
+
+Pour le triangle de Sierpinski, la forme \textit{générale} est \textit{bloquée} pour avoir un rendu \textit{classique}.
+\end{importantblock}
+
+\subsection{Flocon de Koch et triangle de Sierpinski}
+
+\begin{tipblock}
+La commande pour créer un flocon de Koch ou un triangle de Sierpinski est \ctex{\textbackslash FractaleTikz}.
+
+Les éléments de personnalisation sont présentés un peu plus bas.
+\end{tipblock}
+
+\begin{PresCodeTexPL}{listing only}
+%Flocon de Koch, autonome
+\FractaleTikz[Type=Koch,clés]<options tikz>
+
+%Flocon de Koch, dans un environnement tikz
+\begin{tikzpicture}
+	\FractaleTikz*[Type=Koch,clés]
+\end{tikzpicture}
+\end{PresCodeTexPL}
+
+\begin{PresCodeTexPL}{listing only}
+%Triangle de Sierpinski, autonome
+\FractaleTikz[Type=Sierp,clés]<options tikz>
+
+%Flocon de Koch, dans un environnement tikz
+\begin{tikzpicture}
+	\FractaleTikz[Type=Sierp,clés]
+\end{tikzpicture}
+\end{PresCodeTexPL}
+
+\begin{cautionblock}
+Les \Cle{clés} disponibles pour cette commande sont :
+
+\begin{itemize}
+	\item la clé \Cle{Epaisseur} pour fixer l'épaisseur des tracés ; \hfill~défaut \Cle{0.6pt}
+	\item la clé \Cle{Type}, parmi \Cle{Koch / Sierp} pour choisir le type de fractale ; \hfill~défaut \Cle{Koch}
+	\item la clé \Cle{Couleur} pour fixer la couleur des tracés ; \hfill~défaut \Cle{black}
+	\item la clé \Cle{LongueurCote} (en cm) pour fixer la longueur des côtés ; \hfill~défaut \Cle{3}
+	\item la clé \Cle{Etape} (pour \Cle{Type=Koch}, et limitée à 7) pour fixer l'étape ; \hfill~défaut \Cle{1}
+	\item le booléen \Cle{remplir} pour remplir la fractale ; \hfill~défaut \Cle{false}
+	\item la clé \Cle{Remplissage} pour fixer la couleur de remplissage ; \hfill~défaut \Cle{lightgray}
+	\item la clé \Cle{Depart} pour fixer le point de départ ; \hfill~défaut \Cle{(0,0)}
+	\item le booléen \Cle{AlignV} (pour \Cle{Type=Koch}) pour forcer l'alignement de la \textit{base} ; \hfill~défaut \Cle{false}
+	\item le booléen \Cle{Contour} (pour \Cle{Type=Sierp}) pour afficher le contour. \hfill~défaut \Cle{false}
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{cautionblock}
+
+\begin{PresCodeTexPL}{}
+%Koch par défaut
+\FractaleTikz
+\end{PresCodeTexPL}
+
+\begin{PresCodeTexPL}{}
+%Koch par défaut
+\FractaleTikz[Etape=4,LongueurCote=4,Remplir,Remplissage=teal!5,Couleur=red,Epaisseur=1pt]
+\end{PresCodeTexPL}
+
+\begin{PresCodeTexPL}{}
+%dans un environnement tikz
+\begin{tikzpicture}
+	\FractaleTikz*[Etape=0]
+	\FractaleTikz*[Depart={(4,0)},Etape=1,Remplir,Remplissage=yellow!25]
+	\FractaleTikz*[Depart={(8,0)},Etape=2,Remplir,Remplissage=orange!25]
+	\FractaleTikz*[Depart={(12,0)},Etape=3,Remplir,Remplissage=red!25]
+\end{tikzpicture}
+\end{PresCodeTexPL}
+
+\begin{PresCodeTexPL}{}
+%Sierpinski par défaut
+\FractaleTikz[Type=Sierp]
+\end{PresCodeTexPL}
+
+\begin{PresCodeTexPL}{}
+%Sierpinski par défaut
+\FractaleTikz[Type=Sierp,LongueurCote=4,Couleur=blue,Remplir,Remplissage=red!5,Contour]
+\end{PresCodeTexPL}
+
+\subsection{Affichage de plusieurs étapes pour les flocons de Koch}
+
+\begin{tipblock}
+L'idée est de présenter des étapes successives pour le flocon de Koch.
+
+À noter que les \textit{bases} des flocons sont, dans ce cas, correctement alignées !
+\end{tipblock}
+
+\begin{PresCodeTexPL}{listing only}
+%commande autonome, l'environnement tikz est créé
+\EtapesFloconKoch[clés]{étapes}
+\end{PresCodeTexPL}
+
+\begin{cautionblock}
+Les \Cle{clés} disponibles sont reprises (pour celles dépendant de \Cle{Type=Koch} !) de la commande \ctex{\textbackslash FractaleTikz}, avec en plus :
+
+\begin{itemize}
+	\item la clé \Cle{Offset} pour fixer une espacement horizontal entre les figures. \hfill~défaut \Cle{2pt}
+\end{itemize}
+
+L'argument obligatoire, et entre \ctex{\{...\}}, permet de spécifier les étapes à afficher, sous la forme \TikZ{} :
+
+\begin{itemize}
+	\item \ctex{n1,n2,n3} pour spécifier une liste d'étapes ;
+	\item \ctex{n1,...,n2} pour spécifier une plage d'étapes.
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{cautionblock}
+
+\begin{PresCodeTexPL}{}
+\EtapesFloconKoch{0,...,4}
+\end{PresCodeTexPL}
+
+\begin{PresCodeTexPL}{}
+\EtapesFloconKoch[Offset=5mm,Couleur=red,Remplir,Remplissage=violet!25]{0,2,4,6}
+\end{PresCodeTexPL}
+
+\newpage
+
 \phantom{t}\par\vfill\par
 \begin{PART}
 	\begin{center}
@@ -7938,8 +8082,10 @@
 
 \part{Historique}
 
-{\small \bverb|v 2.7.8|~:~~~~Conversion présentée hexa/bin (page \pageref{convhexbin})} + Liste et arbres de diviseurs (page \pageref{listediv})
+{\small \bverb|v 2.7.9|~:~~~~Ajout de quelques fractales (Koch + Sierpinski) (page \pageref{fractales})}
 
+{\small \bverb|v 2.7.8|~:~~~~Conversion présentée hexa/bin (page \pageref{convhexbin}) + Liste et arbres de diviseurs (page \pageref{listediv})}
+
 {\small \bverb|v 2.7.7|~:~~~~Points de discontinuité pour des splines (page \pageref{discont})}
 
 {\small \bverb|v 2.7.6|~:~~~~Amélioration dans la console d'exécution avec \textsf{piton}}

Modified: trunk/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty	2023-10-18 20:31:42 UTC (rev 68584)
+++ trunk/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty	2023-10-18 20:31:57 UTC (rev 68585)
@@ -3,7 +3,8 @@
 % or later, see http://www.latex-project.org/lppl.txtf
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ProfLycee}[2023/10/06 2.7.8 Aide pour l'utilisation de LaTeX en lycee]
+\ProvidesPackage{ProfLycee}[2023/10/18 2.7.9 Aide pour l'utilisation de LaTeX en lycee]
+% 2.7.9	Ajout de fractales (Koch + Sierpenski)
 % 2.7.8	Conversion hexa->bin présentée
 % 2.7.7	Ajout d'une commande pour matérialiser des points de discontinuité
 % 2.7.6	Amélioration de la gestion de la console piton

Modified: trunk/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-recreat.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-recreat.tex	2023-10-18 20:31:42 UTC (rev 68584)
+++ trunk/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-recreat.tex	2023-10-18 20:31:57 UTC (rev 68585)
@@ -243,4 +243,99 @@
 	\end{tikzpicture}
 }
 
+%=====FRACTALES
+\usetikzlibrary{lindenmayersystems}
+
+\pgfdeclarelindenmayersystem{FloconKoch}{
+	\rule{F -> F-F++F-F}}
+\pgfdeclarelindenmayersystem{TriangleSierpinski}{
+	\rule{F -> G-F-G}
+	\rule{G -> F+G+F}}
+
+\defKV[tikzfract]{%
+	Epaisseur=\def\fracttikzthick{#1},%
+	Type=\def\fracttikztype{#1},%
+	Couleur=\def\fracttikzcolor{#1},%
+	LongueurCote=\def\fracttikzlg{#1},%
+	Etape=\def\fracttikzstep{#1},%
+	Remplissage=\def\fracttikzfill{#1},%
+	Depart=\def\fracttikzdepart{#1},%
+	Offset=\def\fracttikzoffset{#1}
+}
+
+\setKVdefault[tikzfract]{%
+	Epaisseur=0.6pt,%
+	Type=Koch,%
+	Couleur=black,%
+	LongueurCote=3,%
+	Etape=1,%
+	Remplir=false,%
+	Remplissage=lightgray,%
+	Depart={(0,0)},%
+	Contour=false,%
+	AlignV=false,%
+	Offset=2pt
+}
+
+\NewDocumentCommand\FractaleTikz{ s O{} D<>{} }{%
+	\restoreKV[tikzfract]%
+	\setKV[tikzfract]{#2}%
+	\def\fracttikzlgstep{\fpeval{(\fracttikzlg)/(3^\fracttikzstep)}}%
+	\IfStrEq{\fracttikztype}{Sierp}%
+		{%
+			\def\fracttikzlgstep{\fpeval{(\fracttikzlg)/(128)}}%
+		}{}%
+	\IfBooleanF{#1}{\begin{tikzpicture}[#3]}
+	\ifboolKV[tikzfract]{Remplir}%
+		{%
+			\IfStrEq{\fracttikztype}{Koch}%
+				{%
+					\ifboolKV[tikzfract]{AlignV}%
+						{%
+							\node at ($(1/3*\fracttikzlg,0)+(-60:1/3*\fracttikzlg)$) {} ;
+						}{}%
+					\draw[line width =\fracttikzthick,shift=\fracttikzdepart,draw=\fracttikzcolor,fill=\fracttikzfill,l-system={FloconKoch,step=\fracttikzlgstep cm,angle=60,axiom=F++F++F,order=\fracttikzstep}] lindenmayer system -- cycle;
+				}{}%
+			\IfStrEq{\fracttikztype}{Sierp}%
+				{%
+					\ifboolKV[tikzfract]{Contour}%
+						{%
+							\draw[shift=\fracttikzdepart,line width=\fracttikzthick,\fracttikzcolor] (0,0) -- (60:\fracttikzlg cm) -- (\fracttikzlg cm,0) -- cycle ;
+							\clip (0,0) -- (60:\fracttikzlg cm) -- (\fracttikzlg cm,0) -- cycle ;
+						}{}%
+					\draw[line width=\fracttikzthick,shift=\fracttikzdepart,draw=\fracttikzcolor,fill=\fracttikzfill,l-system={TriangleSierpinski,step=\fracttikzlgstep cm,angle=60,axiom=F,order=8}]
+					lindenmayer system -- cycle;
+				}{}%
+		}%
+		{%
+			\IfStrEq{\fracttikztype}{Koch}%
+				{%
+					\ifboolKV[tikzfract]{AlignV}%
+						{%
+							\node at ($(1/3*\fracttikzlg,0)+(-60:1/3*\fracttikzlg)$) {} ;
+						}{}%
+					\draw [line width=\fracttikzthick,shift=\fracttikzdepart,\fracttikzcolor,l-system={FloconKoch,step=\fracttikzlgstep cm,angle=60,axiom=F++F++F,order=\fracttikzstep}] lindenmayer system -- cycle;
+				}{}%
+			\IfStrEq{\fracttikztype}{Sierp}%
+				{%
+					\ifboolKV[tikzfract]{Contour}%
+					{%
+						\draw[shift=\fracttikzdepart,line width=\fracttikzthick,\fracttikzcolor] (0,0) -- (60:\fracttikzlg cm) -- (\fracttikzlg cm,0) -- cycle ;
+						\clip (0,0) -- (60:\fracttikzlg cm) -- (\fracttikzlg cm,0) -- cycle ;
+					}{}%
+					\draw[line width=\fracttikzthick,shift=\fracttikzdepart,\fracttikzcolor,l-system={TriangleSierpinski,step=\fracttikzlgstep cm,angle=60,axiom=F,order=8}]
+					lindenmayer system -- cycle;
+				}{}%
+		}%
+	\IfBooleanF{#1}{\end{tikzpicture}}%
+}
+
+\NewDocumentCommand\EtapesFloconKoch{ O{} D<>{} m }{%
+	\restoreKV[tikzfract]%
+	\setKV[tikzfract]{#1}%
+	\foreach \i in {#3} {%
+		\FractaleTikz[AlignV,#1,Etape=\i]<#2>\hspace{\fracttikzoffset}%
+	}
+}
+
 \endinput
\ No newline at end of file



More information about the tex-live-commits mailing list.