diff options
author | Karl Berry <karl@freefriends.org> | 2023-10-24 17:51:52 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2023-10-24 17:51:52 +0000 |
commit | 6926b2074aeca8e401bc82773bdb0f324d0b6841 (patch) | |
tree | 1c7b43666de99c335be23ea26101238b460190c5 /Master/texmf-dist/tex/latex | |
parent | 0bfadba8b4e7062c64d16b4ff197dd8adaa54be5 (diff) |
proflycee (23oct23)
git-svn-id: svn://tug.org/texlive/trunk@68633 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r-- | Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty | 3 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/proflycee/proflycee-tools-graphiques.tex | 151 |
2 files changed, 153 insertions, 1 deletions
diff --git a/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty b/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty index a713a0cdcee..8f3f9bb1fba 100644 --- a/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty +++ b/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty @@ -3,7 +3,8 @@ % or later, see http://www.latex-project.org/lppl.txtf \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{ProfLycee}[2023/10/19 2.8.0 Aide pour l'utilisation de LaTeX en lycee] +\ProvidesPackage{ProfLycee}[2023/10/23 3.00a Aide pour l'utilisation de LaTeX en lycee] +% 3.00a Ajout de commandes pour travailler avex des intervalles + Nouvelle numérotation % 2.8.0 Amélioration du tapis de Sierpinski % 2.7.9 Ajout de fractales (Koch + Sierpinski) % 2.7.8 Conversion hexa->bin présentée diff --git a/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-graphiques.tex b/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-graphiques.tex index 009b5d09670..0a31d0861a0 100644 --- a/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-graphiques.tex +++ b/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-graphiques.tex @@ -610,4 +610,155 @@ \tikzset{declare function={#1(\x)=#2;}} } +%====INTERVALLES TIKZ +\usetikzlibrary{decorations.pathmorphing,decorations.pathreplacing} + +\defKV[repinterv]{% + Unite=\def\RepIntervUnit{#1},% + Largeur=\def\RepIntervLarg{#1},% + Graduations=\def\RepIntervGrad{#1},%, + GraduationsAlt=\def\RepIntervGradPrim{#1},% + HautGrad=\def\RepIntervHautGrad{#1},% + Valeurs=\def\RepIntervVal{#1} +} +\setKVdefault[repinterv]{% + xmin=-8,xmax=8,% + Elargir=0.05,Unite=auto,Largeur=12,EpTrait=0.8pt,% + Graduations={},% + GraduationsAlt={},% + HautGrad=7pt,Hauteur=16pt,Coeff=1.1,Valeurs={},% + Police={\normalsize\normalfont} +} + +\NewDocumentEnvironment{RepIntervalles}{ O{} D<>{} }% +{% + \restoreKV[repinterv]% + \setKV[repinterv]{#1}% + \IfStrEq{\RepIntervUnit}{auto}% + {\def\RepIntervUnitX{\fpeval{round((\useKV[repinterv]{Largeur})/(\useKV[repinterv]{xmax}-\useKV[repinterv]{xmin}),3)}}}% + {\def\RepIntervUnitX{\RepIntervUnit}}% + \xdef\AxeXminInterv{\fpeval{\useKV[repinterv]{xmin}-(\useKV[repinterv]{Elargir})*(\useKV[repinterv]{xmax}-\useKV[repinterv]{xmin})}}% + \xdef\AxeXmaxInterv{\fpeval{\useKV[repinterv]{xmax}+(\useKV[repinterv]{Elargir})*(\useKV[repinterv]{xmax}-\useKV[repinterv]{xmin})}}% + \begin{tikzpicture}[x=\RepIntervUnitX cm,#2] + \draw[line width={\useKV[repinterv]{EpTrait}},->,>=latex] ({\AxeXminInterv},0) -- ({\AxeXmaxInterv},0) ; + \IfStrEq{\RepIntervGrad}{}% + {}% + { + \foreach \i in \RepIntervGrad {\draw[line width={\useKV[repinterv]{EpTrait}}] (\i,{0.5*\RepIntervHautGrad})--++(0,{-\RepIntervHautGrad}) ;} + }% + \IfStrEq{\RepIntervGradPrim}{}% + {}% + { + \foreach \i in \RepIntervGradPrim {\draw[line width={\useKV[repinterv]{EpTrait}}] (\i,{0.75*\RepIntervHautGrad})--++(0,{-1.5*\RepIntervHautGrad}) ;} + }% + \IfStrEq{\RepIntervVal}{}% + {}% + { + \foreach \i in \RepIntervVal {\draw (\i,{-0.5*\useKV[repinterv]{Hauteur}}) node[inner sep={1.5*\useKV[repinterv]{EpTrait}},below,font={\useKV[repinterv]{Police}}] {\num{\i}} ;} + }% + }% + {% + \end{tikzpicture}% +} + +\defKV[tkzinterv]{% + Type=\def\IntervType{#1},% + Decor=\def\IntervStyle{#1},% + PosValeurs=\def\IntervPosValeurs{#1},% + Offset=\def\IntervOffset{#1} +} +\setKVdefault[tkzinterv]{% + Couleur=red,% + Type=FF,% + NiveauV=0,% + Decor={},% + AffValeurs=false,% + PosValeurs=above,% + NumInf=true,% + NumSup=true,% + Offset=0pt +} + +\NewDocumentCommand\tkzIntervalle{ O{} m m }{%1=options,2=min,3=max + \restoreKV[tkzinterv]% + \setKV[tkzinterv]{#1}% + %transformations min/max + \IfStrEq{#2}{*}{\def\ValMinInterv{\AxeXminInterv}}{\def\ValMinInterv{#2}}% + \IfStrEq{#3}{*}{\def\ValMaxInterv{\AxeXmaxInterv}}{\def\ValMaxInterv{#3}}% + \begin{scope}[yshift={\useKV[repinterv]{Coeff}*\useKV[tkzinterv]{NiveauV}*\useKV[repinterv]{Hauteur}+\IntervOffset}] + %segment + \draw[line width={2*\useKV[repinterv]{EpTrait}},{\useKV[tkzinterv]{Couleur}}] ({\ValMinInterv},0)--({\ValMaxInterv},0) ; + %style fond + \IfStrEq{\IntervStyle}{fond}% + {% + + \filldraw[draw=none,fill={\useKV[tkzinterv]{Couleur}},fill opacity=0.25] ({\ValMinInterv},{-0.425*\useKV[repinterv]{Hauteur}}) rectangle ({\ValMaxInterv},{0.425*\useKV[repinterv]{Hauteur}}) ; + }{}% + \IfStrEq{\IntervStyle}{zigzag}% + {% + \draw[line width={1.25*\useKV[repinterv]{EpTrait}},{\useKV[tkzinterv]{Couleur}},decorate,decoration={zigzag,segment length=5mm,amplitude={0.425*\useKV[repinterv]{Hauteur}}}] ({\ValMinInterv},0)--({\ValMaxInterv},0) ; + }{}% + \IfSubStr{\IntervStyle}{hach}% + {% + \IfSubStr{\IntervStyle}{/}% + {\StrBehind{\IntervStyle}{/}[\IntervHachAngle]} + {\def\IntervHachAngle{60}}% + \begin{scope} + \clip ({\ValMinInterv},{-0.5*\useKV[repinterv]{Hauteur}}) rectangle ({\ValMaxInterv},{0.5*\useKV[repinterv]{Hauteur}}) ; + \draw[line width={1.25*\useKV[repinterv]{EpTrait}},{\useKV[tkzinterv]{Couleur}},decorate,decoration={border,segment length=2.5mm,angle=\IntervHachAngle,amplitude={0.425*\useKV[repinterv]{Hauteur}}}] ({\AxeXminInterv},0)--({\AxeXmaxInterv},0) ; + \draw[line width={1.25*\useKV[repinterv]{EpTrait}},{\useKV[tkzinterv]{Couleur}},decorate,decoration={border,segment length=2.5mm,angle=\IntervHachAngle,amplitude={-0.425*\useKV[repinterv]{Hauteur}}}] ({\AxeXminInterv},0)--({\AxeXmaxInterv},0) ; + \end{scope} + }{}% + %bord gauche + \IfStrEq{#2}{*}% + {}% + {% + \ifboolKV[tkzinterv]{AffValeurs}% + {% + \IfSubStr{\IntervPosValeurs}{above} + {% + \draw ({\ValMinInterv},{0.5*\useKV[repinterv]{Hauteur}}) node[inner sep={3*\useKV[repinterv]{EpTrait}},\IntervPosValeurs,text={\useKV[tkzinterv]{Couleur}},font={\useKV[repinterv]{Police}}] {\ifboolKV[tkzinterv]{NumInf}{\num{#2}}{#2}} ; + }{}% + \IfSubStr{\IntervPosValeurs}{below} + {% + \draw ({\ValMinInterv},{-0.5*\useKV[repinterv]{Hauteur}}) node[inner sep={3*\useKV[repinterv]{EpTrait}},\IntervPosValeurs,text={\useKV[tkzinterv]{Couleur}},font={\useKV[repinterv]{Police}}] {\ifboolKV[tkzinterv]{NumInf}{\num{#2}}{#2}} ; + }{}% + }{}% + \IfBeginWith{\IntervType}{O}% + {% + \draw[line width={2*\useKV[repinterv]{EpTrait}},{\useKV[tkzinterv]{Couleur}}] ({\ValMinInterv},0)|-++ ({-0.2*\useKV[repinterv]{Hauteur}},{0.5*\useKV[repinterv]{Hauteur}}) ; + \draw[line width={2*\useKV[repinterv]{EpTrait}},{\useKV[tkzinterv]{Couleur}}] ({\ValMinInterv},0)|-++ ({-0.2*\useKV[repinterv]{Hauteur}},{-0.5*\useKV[repinterv]{Hauteur}}) ; + }% + {% + \draw[line width={2*\useKV[repinterv]{EpTrait}},{\useKV[tkzinterv]{Couleur}}] ({\ValMinInterv},0)|-++ ({0.2*\useKV[repinterv]{Hauteur}},{0.5*\useKV[repinterv]{Hauteur}}) ; + \draw[line width={2*\useKV[repinterv]{EpTrait}},{\useKV[tkzinterv]{Couleur}}] ({\ValMinInterv},0)|-++ ({0.2*\useKV[repinterv]{Hauteur}},{-0.5*\useKV[repinterv]{Hauteur}}) ; + }% + }% + \IfStrEq{#3}{*}% + {}% + {% + \ifboolKV[tkzinterv]{AffValeurs}% + {% + \IfSubStr{\IntervPosValeurs}{above} + {% + \draw ({\ValMaxInterv},{0.5*\useKV[repinterv]{Hauteur}}) node[inner sep={3*\useKV[repinterv]{EpTrait}},\IntervPosValeurs,text={\useKV[tkzinterv]{Couleur}},font={\useKV[repinterv]{Police}}] {\ifboolKV[tkzinterv]{NumSup}{\num{#3}}{#3}} ; + }{}% + \IfSubStr{\IntervPosValeurs}{below} + {% + \draw ({\ValMaxInterv},{-0.5*\useKV[repinterv]{Hauteur}}) node[inner sep={3*\useKV[repinterv]{EpTrait}},\IntervPosValeurs,text={\useKV[tkzinterv]{Couleur}},font={\useKV[repinterv]{Police}}] {\ifboolKV[tkzinterv]{NumSup}{\num{#3}}{#3}} ; + }{}% + }{}% + \IfEndWith{\IntervType}{O}% + {% + \draw[line width={2*\useKV[repinterv]{EpTrait}},{\useKV[tkzinterv]{Couleur}}] ({\ValMaxInterv},0)|-++ ({0.2*\useKV[repinterv]{Hauteur}},{0.5*\useKV[repinterv]{Hauteur}}) ; + \draw[line width={2*\useKV[repinterv]{EpTrait}},{\useKV[tkzinterv]{Couleur}}] ({\ValMaxInterv},0)|-++ ({0.2*\useKV[repinterv]{Hauteur}},{-0.5*\useKV[repinterv]{Hauteur}}) ; + }% + {% + \draw[line width={2*\useKV[repinterv]{EpTrait}},{\useKV[tkzinterv]{Couleur}}] ({\ValMaxInterv},0)|-++ ({-0.2*\useKV[repinterv]{Hauteur}},{0.5*\useKV[repinterv]{Hauteur}}) ; + \draw[line width={2*\useKV[repinterv]{EpTrait}},{\useKV[tkzinterv]{Couleur}}] ({\ValMaxInterv},0)|-++ ({-0.2*\useKV[repinterv]{Hauteur}},{-0.5*\useKV[repinterv]{Hauteur}}) ; + }% + }% + \end{scope}% +} + \endinput
\ No newline at end of file |