summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/proflycee/tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/proflycee/tex')
-rw-r--r--macros/latex/contrib/proflycee/tex/ProfLycee.sty492
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-minted.tex48
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex67
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-pythontex.tex129
4 files changed, 326 insertions, 410 deletions
diff --git a/macros/latex/contrib/proflycee/tex/ProfLycee.sty b/macros/latex/contrib/proflycee/tex/ProfLycee.sty
index f8a0b9f0aa..c65512f9e3 100644
--- a/macros/latex/contrib/proflycee/tex/ProfLycee.sty
+++ b/macros/latex/contrib/proflycee/tex/ProfLycee.sty
@@ -3,7 +3,9 @@
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ProfLycee}[2023/02/04 2.1.9 Aide pour l'utilisation de LaTeX en lycee]
+\ProvidesPackage{ProfLycee}[2023/02/08 2.5.0 Aide pour l'utilisation de LaTeX en lycee]
+% 2.5.0 Passage à des libraires via \useproflyclib
+% 2.2.0 Ajout de clés [Notation] pour les arrangements et combinaisons
% 2.1.9 Correction d'un bug avec les MiniSchémas + version étoilée
% 2.1.8 Suppression des pixelarts, désormais dans le package "PixelArtTikz" !
% 2.1.7 Option booléenne Math pour les figures pave/tetraèdre
@@ -23,55 +25,10 @@
% 2.0.2 Ajout de l'option auto-margin sur piton
% 2.0.1 Chargement de piton uniquement si lua...
% 2.0.0 Refonte des commandes, des options, et de la documentation !!!
-% ------------------------------------------------------------------
-% 1.3.7 Ajout d'un environnement simplifié pour du code python via piton
-% 1.3.6 Ajout d'un "générateur" de trinômes (ou mise en forme basique)
-% 1.3.5 Correction de bugs sur les calculs de probas (loi géométrique)
-% 1.3.4 Ajout des calculs de probas geométriques et hypergeometriques + petits schémas probas
-% 1.3.3 Ajout de commandes pour des arbres de probas classiques, en tikz
-% 1.3.2 Correction d'une commande liée à la conversion bintohex (suppression clé trait)
-% 1.3.1 Ajout d'une option pour ne pas afficher les bords des cases en pixelart
-% 1.3.0 Ajout d'une commande pour mettre en forme une conversion depuis la base 10
-% 1.2.9 Correction d'une incompatibilité avec simplekv (clés vides...)
-% 1.2.8 Correction de l'oubli d'une librairie tikz et remise en forme de la documentation
-% 1.2.7 Calculs de probas pour des lois classiques
-% 1.2.6 Ajout d'un environnement tikz pour des sudomaths personnalisés
-% 1.2.5 Ajout d'une commande pour des boites à moustaches, en tikz
-% 1.2.4 Correction de quelques bugs mineurs, et mise à jour de la doc
-% 1.2.3 Ajout d'un environnement simplifié pour du code python
-% 1.2.2 Ajouts de commandes pour des stats à 2 variables
-% 1.2.1 Amélioration de la gestion du csv pour les pixelart
-% 1.2 Correction d'un méchant bug avec pixelart, erf...
-% 1.1.9 Commande pour du pixelart en tikz (avec option csvii pour compatibilité)
-% 1.1.8 Ajout d'un style mainlevee pour tikz
-% 1.1.7 Ajout de commandes pour des conversions bin/dec/hex
-% 1.1.6 Ajout d'une commande pour déterminer les paramètres d'un régression linéaire par moindres carrés
-% 1.1.5 Ajout de commandes pour "visualiser" le signe de ax+b ou de ax2+bx+c (cf tnsana !)
-% 1.1.4 Ajout d'une commande cercletrigoPL pour, en \TikZ, créer facilement un cercle trigo avec options
-% 1.1.3 Ajout d'une commande ensemble pour créer un ensemble à partir d'une liste
-% 1.1.2 Modifs mineures
-% 1.1.1 Modification mineure de l'environnement CF, avec prise de charge de la taille du texte !
-% 1.1.0 Ajout d'une commande tetraPL pour un tetraèdre dans un environnement TikZ
-% 1.0.9 Ajout d'une commande pavePL pour un pave droit dans un environnement TikZ
-% 1.0.8 Ajout d'une commande liencapytale pour créer un cartouche "comme sur capytale"
-% 1.0.7 Option [build] pour placer les fichiers temporaires dans un répertoire build (désactivée par défaut)
-% 1.0.6 Option [nominted] pour éviter de charger minted & nettoyage amssymb
-% 1.0.5 Environnement code python avec minted
-% 1.0.4 Environnement pour simuler terminal windows & linux
-% 1.0.3 Environnement pour présenter du pseudocode
-% 1.0.2 Environnement pour présenter du code python (avec pythontex)
-% 1.0.1 Modif mineure du chargement de xcolor (compatibilité avec d'autres packages notamment...)
-% 1.0 Version initiale
%------Option(s)
-\newif\if@nonshellescape \@nonshellescapefalse
-\DeclareOption{nonshellescape}{\@nonshellescapetrue}
\newif\if@build \@buildfalse
\DeclareOption{build}{\@buildtrue}
-\newif\if@pythontex \@pythontexfalse
-\DeclareOption{pythontex}{\@pythontextrue}
-%\newif\if@csvii \@csviifalse
-%\DeclareOption{csvii}{\@csviitrue}
\DeclareOption*{}
\ProcessOptions\relax
@@ -82,7 +39,6 @@
\RequirePackage{tkz-tab}
\RequirePackage{pgf,pgffor}
\RequirePackage{ifthen}
-%\RequirePackage{xparse}
\RequirePackage{xkeyval}
\RequirePackage{xstring}
\RequirePackage{xintexpr}
@@ -92,25 +48,18 @@
\RequirePackage{simplekv}
\RequirePackage{listofitems}
\RequirePackage{tabularray}
-%\RequirePackage{hvlogos}
\RequirePackage{hologo}
\RequirePackage{fancyvrb}
\RequirePackage{siunitx} %test avec v3
\sisetup{%
locale=FR,output-decimal-marker={,},%
- mode = match, propagate-math-font = true,%
- reset-math-version = false, reset-text-family = false,%
- reset-text-series = false, reset-text-shape = false,%
- text-family-to-math = true, text-series-to-math = true,%
- group-minimum-digits=4%
+ mode=match,propagate-math-font=true,%
+ reset-math-version=false,reset-text-family=false,%
+ reset-text-series=false,reset-text-shape=false,%
+ text-family-to-math=true,text-series-to-math=true,%
+ group-minimum-digits=4
}%
\RequirePackage{fontawesome5}
-%\if@csvii
-% \RequirePackage[legacy]{csvsimple}
-%\else
-% \RequirePackage{expl3}
-% \RequirePackage[l3]{csvsimple}
-%\fi
%librairies tikz
\usetikzlibrary{calc}
\usetikzlibrary{decorations}
@@ -125,28 +74,35 @@
%divers
\RequirePackage{iftex}
-%python
-\if@pythontex
- \RequirePackage[gobble=auto]{pythontex}
- \setpythontexlistingenv{pythont} %pour ne pas télescoper lstlistings (?)
- \if@build
- \setpythontexoutputdir{./build/pythontex-files-\jobname} %essai de modif pythontex répertoire build
- \fi
-\fi
-
-%shellescape
-\if@nonshellescape
- %on ne charge pas minted et la librairie tcbox
-\else
- \if@build
- %on charge minted avec le répertoire build
- \RequirePackage[outputdir=build]{minted}
- \fi
- %on charge minted via la librairie tcbox
- \tcbuselibrary{minted}
-\fi
+%%------LIBRAIRIES/BIBIOTHÈQUES
+\newcommand\useproflyclib[1]{%ajout d'une commande "librairie" pour charger des modules
+ \IfSubStr{#1}{piton}%
+ {%
+ \input{proflycee-tools-piton.tex}
+ }%
+ {}%
+ \IfSubStr{#1}{minted}%
+ {%
+ \if@build
+ \RequirePackage[outputdir=build]{minted} %on charge minted avec le répertoire build
+ \fi
+ \tcbuselibrary{minted} %on charge minted via la librairie tcbox
+ \input{proflycee-tools-minted.tex}
+ }%
+ {}%
+ \IfSubStr{#1}{pythontex}%
+ {%
+ \RequirePackage[gobble=auto]{pythontex}
+ \setpythontexlistingenv{pythont} %pour ne pas télescoper lstlistings (?)
+ \if@build
+ \setpythontexoutputdir{./build/pythontex-files-\jobname} %essai de modif pythontex répertoire build
+ \fi
+ \input{proflycee-tools-pythontex.tex}
+ }%
+ {}%
+}
-%-----------PRESENTATIONDECODES--------------
+%%------PRESENTATIONDECODES
\NewTCBListing{PresentationCode}{ O{ForestGreen} m }{%
sharp corners=downhill,enhanced,arc=12pt,skin=bicolor,%
colback=#1!5!white,colframe=#1!75!black,colbacklower=White,%
@@ -163,9 +119,9 @@
#2
}
-%---------------SPLINES----------------------
-%------commande utile pour extraire des infos d'une liste
-\newcommand\extractcoeff[2]{% #1=liste & #2=numero
+%%------SPLINES
+%commande utile pour extraire des infos d'une liste
+\newcommand\extractcoeff[2]{%1=liste,2=numero
\setsepchar{§}%
\readlist*\lcoeffs{#1}
\ifnum \lcoeffslen=1
@@ -179,7 +135,7 @@
\fi
}
-%------splines en tikz avec ..controls
+%splines en tikz avec ..controls
\defKV[spline]{%
Epaisseur=\def\SPLepaisseur{#1},%
Couleur=\def\SPLcouleur{#1},%
@@ -244,7 +200,7 @@
{}
}
-%------tangente(s) en TikZ, avec point/dérivée ou liste points/dérivées
+%tangente(s) en TikZ, avec point/dérivée ou liste points/dérivées
\defKV[tgte]{%
Epaisseur=\def\TGTepaisseur{#1},%
Couleur=\def\TGTcouleur{#1},%
@@ -274,7 +230,7 @@
\draw[line width=\TGTepaisseur,\TGTcouleur,domain=\TGTDEB:\TGTFIN,\TGTstyle] plot (\x,{\fprimea*(\x-\xa)+\ya}) ;%
}
-%----------------FENÊTRE CALCUL FORMEL
+%%------FENÊTRE CALCUL FORMEL
\newcommand\CFchap{\textasciicircum}
\newcounter{CFnum}
%def des clés
@@ -305,7 +261,7 @@
\useKVdefault[paramfenxcas]%
\setKV[paramfenxcas]{#1}% on paramètres les nouvelles clés et on les simplifie
}
-%def des clés
+
\defKV[paramlgxcas]{%
HautCmd=\def\CFhle{#1},%
HautRes=\def\CFhlr{#1}
@@ -379,163 +335,7 @@
{}
}
-\if@pythontex
-%=========CONSOLEPYTHON=========== OK !!
-\defKV[envpythonconsole]{%
- Largeur=\def\CSPYlargeur{#1},%
- Centre=\testboolKV{#1}
- {\def\hookcenterpre{\begin{center}}\def\hookcenterpost{\end{center}}}
- {\def\hookcenterpre{\begin{flushleft}}\def\hookcenterpost{\end{flushleft}}},%
- TaillePolice=\def\CSPYfonte{#1},%
- EspacementVertical=\def\CSPYstretch{#1}
-}
-
-\setKVdefault[envpythonconsole]{%
- Largeur=\linewidth,%
- Centre=true,%
- Label=true,%
- TaillePolice=\footnotesize,%
- EspacementVertical=1
-}
-
-\newenvironment{ConsolePythontex}[1][]{%
- \useKVdefault[envpythonconsole]%
- \setKV[envpythonconsole]{#1}% on paramètres les nouvelles clés et on les simplifie
- \VerbatimEnvironment
- \hookcenterpre
- \begin{minipage}{\CSPYlargeur}
- \ifboolKV[envpythonconsole]{Label}%si label
- {\begin{pyconsole}[][%
- framesep=3mm,frame=single,fontsize=\CSPYfonte,framerule=1pt,rulecolor=\color{ForestGreen},label={[\scriptsize Début de la console python]\scriptsize Fin de la console python},baselinestretch=\CSPYstretch]}%
- {\begin{pyconsole}[][%
- framesep=3mm,frame=single,fontsize=\CSPYfonte,framerule=1pt,rulecolor=\color{ForestGreen},baselinestretch=\CSPYstretch]}
- }
- {
- \end{pyconsole}
- \end{minipage}
- \hookcenterpost
-}
-
-%=========CODEPYTHONTEX=========== OK!!
-\defKV[envpythonverb]{%
- Largeur=\def\CODPYlargeur{#1},%
- TaillePolice=\def\CODPYfonte{#1},%
- EspacementVertical=\def\CODPYstretch{#1},%
- Centre=\testboolKV{#1}
- {\def\verbcenterpre{\begin{center}}\def\verbcenterpost{\end{center}}}
- {\def\verbcenterpre{}\def\verbcenterpost{}}
-}
-
-\setKVdefault[envpythonverb]{%
- Largeur=\linewidth,%
- Centre=true,%
- Lignes=true,%
- TaillePolice=\footnotesize,%
- EspacementVertical=1
-}
-
-\tcbset{stylepythontex/.style={%
- enhanced,boxrule=1.25pt,%
- sharp corners=downhill,arc=12pt,
- before skip=12pt,after skip=12pt,%
- top=10pt,bottom=1mm,rightupper=4pt,%leftupper=25pt,
- attach boxed title to top right={yshift=-\tcboxedtitleheight},
- boxed title style={
- size=small,colback=ForestGreen!25,boxrule=1.25pt,
- colframe=Green,boxsep=1.25pt,
- sharp corners=downhill,
- arc=12pt,
- top=2pt,bottom=1pt,left=6pt,right=6pt
- },
- fonttitle=\color{ForestGreen}\itshape\ttfamily\footnotesize,
- title={\scriptsize\faPython}\:Code Python\vphantom{p},
- watermark text={\faPython},watermark opacity=0.175,watermark zoom=0.50,
- }
-}
-
-\tcbset{stylepythonnolineos/.style={%
- stylepythontex,leftupper=10pt,
- colframe=Green,colback=ForestGreen!5,%
-% fontlower=\small,%
- before upper=\renewcommand\theFancyVerbLine{\scriptsize\ttfamily\color{Gray}\arabic{FancyVerbLine}}
- }
-}
-
-\tcbset{stylepythonlineos/.style={%
- stylepythontex,leftupper=25pt,
- colframe=Green,colback=ForestGreen!5,%
-% fontlower=\small,%
- before upper=\renewcommand\theFancyVerbLine{\scriptsize\ttfamily\color{Gray}\arabic{FancyVerbLine}}
- }
-}
-
-\newtcolorbox{tcpythontexcode}[1][\linewidth]{%
- width=#1,stylepythonlineos
-}
-
-\newtcolorbox{tcpythontexcodeno}[1][\linewidth]{%
- width=#1,stylepythonnolineos
-}
-
-\newenvironment{CodePythontex}[1][]{%
- \useKVdefault[envpythonverb]%
- \setKV[envpythonverb]{#1}% on paramètres les nouvelles clés et on les simplifie
- \VerbatimEnvironment
- \verbcenterpre
- \ifboolKV[envpythonverb]{Lignes}%si lignes=true
- {\begin{tcpythontexcode}[\CODPYlargeur]}
- {\begin{tcpythontexcodeno}[\CODPYlargeur]}
- \ifboolKV[envpythonverb]{Lignes}%si lignes=true
- {\begin{pyverbatim}[][fontsize=\CODPYfonte,numbers=left,numbersep=10pt,commandchars=\\\{\},mathescape,baselinestretch=\CODPYstretch]}
- {\begin{pyverbatim}[][numbers=none,numbersep=0pt,fontsize=\CODPYfonte,commandchars=\\\{\},mathescape,baselinestretch=\CODPYstretch]}
- }
- {
- \end{pyverbatim}
- \ifboolKV[envpythonverb]{Lignes}%si lignes=true
- {\end{tcpythontexcode}}
- {\end{tcpythontexcodeno}}
- \verbcenterpost
-}
-\fi
-
-%=========PYTHONMINTED========= OK !!
-\tcbset{pytmintedno/.style={%
- listing engine=minted,minted style=colorful,
- minted language=python,listing only,
- minted options={tabsize=4,fontsize=\footnotesize,autogobble},
- }
-}
-
-\tcbset{pytminted/.style={%
- listing engine=minted,minted style=colorful,
- minted language=python,listing only,
- minted options={tabsize=4,fontsize=\footnotesize,autogobble,xleftmargin=16pt,linenos,numbersep=10pt},
- }
-}
-
-\DeclareTCBListing{CodePythonMinted}{ s O{12cm} O{} }{% étoilée sans numéro, taille puis options...
- \IfBooleanTF{#1}{pytmintedno}{pytminted},
- enhanced,width=#2,#3,
- colframe=Green,colback=ForestGreen!5,%
- boxrule=1.25pt,
- sharp corners=downhill,arc=12pt,
- before skip=12pt,after skip=12pt,%
- leftupper=8pt,top=10pt,bottom=4pt,rightupper=4pt,%
- attach boxed title to top right={yshift=-\tcboxedtitleheight},
- boxed title style={
- size=small,colback=ForestGreen!25,boxrule=1.25pt,
- colframe=Green,boxsep=1.25pt,
- sharp corners=downhill,
- arc=12pt,
- top=2pt,bottom=1pt,left=6pt,right=6pt
- },
- fonttitle=\color{ForestGreen}\itshape\ttfamily\footnotesize,
- title={\scriptsize\faPython}\:Code Python\vphantom{y},
- watermark text={\faPython},watermark opacity=0.175,watermark zoom=0.50,
- before upper=\renewcommand{\theFancyVerbLine}{\scriptsize\ttfamily\color{Green}\arabic{FancyVerbLine}}
-}
-
-%=======STYLE ALGO LST========= OK !
+%%------STYLE ALGO LST
\ifluatex
\tcbuselibrary{listings}
\lstdefinelanguage{langnat}{%
@@ -586,7 +386,7 @@
}
\fi
-%=======PYTHONLISTINGS========= OK !!
+%%------PYTHONLISTINGS
\tcbset{stylepythonlst/.style={%
enhanced,boxrule=1.25pt,%
leftupper=10pt,
@@ -629,63 +429,10 @@
\NewTCBInputListing{\CodePythonLstFichier}{ s O{\linewidth} m m }{
\IfBooleanTF{#1}{stylepythonlstnolineos}{stylepythonlstlineos},
width=#2,#3,
- listing file={#4}}
-
-%=========PYTHONPITON========== OK !!
-\defKV[envpiton]{%
- Largeur=\def\CODPITlargeur{#1},%
- Alignement=\def\CODPITalign{#1},%
- TaillePolice=\def\CODPITfonte{#1}
-}
-
-\setKVdefault[envpiton]{%
- Largeur=\linewidth,%
- Alignement=center,%
- Lignes=true,%
- Gobble=true,%
- TaillePolice=\footnotesize
+ listing file={#4}
}
-\tcbset{stylepiton/.style={%
- enhanced,boxrule=1.25pt,%
- sharp corners=downhill,arc=12pt,
- before skip=12pt,after skip=12pt,%
- top=10pt,bottom=1mm,rightupper=4pt,%leftupper=25pt,
- attach boxed title to top right={yshift=-\tcboxedtitleheight},
- boxed title style={
- size=small,colback=ForestGreen!25,boxrule=1.25pt,
- colframe=Green,boxsep=1.25pt,
- sharp corners=downhill,
- arc=12pt,
- top=2pt,bottom=1pt,left=6pt,right=6pt
- },
- fonttitle=\color{ForestGreen}\itshape\ttfamily\footnotesize,
- title={\scriptsize\faPython}\:Code Python\vphantom{p},
- watermark text={\faPython},watermark opacity=0.175,watermark zoom=0.50,
- }
-}
-
-\ifluatex
- \RequirePackage{piton}
- \NewPitonEnvironment{CodePiton}{ O{} }%
- {%
- \useKVdefault[envpiton]%
- \setKV[envpiton]{#1}% on paramètres les nouvelles clés et on les simplifie
- \ifboolKV[envpiton]{Lignes}%si lignes=true
- {\PitonOptions{left-margin=auto,all-line-numbers}}%
- {}%
- \ifboolKV[envpiton]{Gobble}%si gobble=true
- {\PitonOptions{tabs-auto-gobble}}%
- {}%
- \PitonOptions{break-lines,indent-broken-lines}%
- \begin{tcolorbox}[stylepiton,leftupper=8pt,colframe=Green,colback=ForestGreen!5,width=\CODPITlargeur,fontupper=\CODPITfonte,fontlower=\CODPITfonte,\CODPITalign]
- }%
- {%
- \end{tcolorbox}%
- }%
-\fi
-
-%=========PSEUDOCODE=========== OK !!
+%%------PSEUDOCODE
%language pseudocode listings
\lstdefinestyle{pseudocodePL}{%
language=langnat,
@@ -768,7 +515,7 @@
}
}
-%============FakeTerm=========== OK !!
+%%------FakeTerm
%couleurs (inspirées par termsim !)
\definecolor{PLmpurple}{RGB}{48,10,36}
\definecolor{PLmgray}{RGB}{70,72,67}
@@ -912,14 +659,14 @@
width=#1,#3
}
-%============CartoucheCapytale========= OK !!
+%%------CartoucheCapytale
\definecolor{vertcapyt}{rgb}{0.0,0.5,0.0}
%\definecolor{vertcapyt}{HTML}{008000}
\DeclareTotalTCBox{\CartoucheCapytale}{ s O{} m }
{enhanced,size=fbox,on line,arc=3pt,colback=vertcapyt,colframe=vertcapyt,fontupper=\IfBooleanTF{#1}{\ttfamily}{\sffamily}\bfseries,colupper=white}%
{#3#2~{\scriptsize\faLink}}
-%============PaveDroitTikZ============= OK !!
+%%------PaveDroitTikZ
\defKV[paramspave]{%
Largeur=\xdef\PFPaveLg{#1},%
Profondeur=\xdef\PFPavePf{#1},%
@@ -990,7 +737,7 @@
(\PaveD)--(\PaveH) ;}
}
-%============TétraèdreTikZ============= OK !!
+%%------TétraèdreTikZ
\defKV[paramstetra]{%
Largeur=\xdef\PFTetraLg{#1},%
Profondeur=\xdef\PFTetraPf{#1},%
@@ -1040,7 +787,7 @@
{\draw[dashed,\PFTetraThick] (\TetraA)--(\TetraC) ;}
}
-%============EnsembleList============== OK !!
+%%------EnsembleList
\defKV[kvensemble]{%
Sep=\def\PLenssep{#1},%
Option=\def\PLensopt{#1}
@@ -1056,11 +803,11 @@
\useKVdefault[kvensemble]%
\setKV[kvensemble]{#1}%
\ifboolKV[kvensemble]{Mathpunct}%
- {\left\lbrace \PLensopt{} \mathpunct{} \StrSubstitute{#2}{/}{\mathpunct{}{\PLenssep}\mathpunct{}} \mathpunct{} \right\rbrace}%
+ {\left\lbrace \PLensopt{} \mathpunct{} \StrSubstitute{#2}{/}{\mathpunct{}{\PLenssep}\mathpunct{}} \right\rbrace}%
{\left\lbrace \PLensopt{} \StrSubstitute{#2}{/}{{\PLenssep}} \right\rbrace}
}
-%===============SimplFrac============== OK !!
+%%------SimplFrac
\DeclareDocumentCommand\ConversionFraction{ O{} m }{% argument optionnel [d ou t] puis argument mandataire {calcul ou fraction}
\def\calculargument{\xintPRaw{\xintIrr{\xinteval{#2}}}}%on calcule et on transforme en A/B
\IfSubStr{\calculargument}{/}%on teste si le symbole / apparaît
@@ -1075,7 +822,7 @@
}%
}
-%================CabWeb================ OK !!
+%%------CabWeb
\defKV[webrecurr]{%
Fct=\def\PLRecurfct{#1},%
Nom=\def\PLRecurnom{#1},%
@@ -1097,7 +844,6 @@
TailleLabel=\small
}
-%\newcommand\recurr[1][]{%
\NewDocumentCommand\ToileRecurrence{ O{} O{thick,color=magenta} O{dotted} }{
%<clés> + <style cabweb> + <style supplémentaire pointillés>
\useKVdefault[webrecurr]%
@@ -1126,7 +872,7 @@
}
}
-%================CercleTrigo=========== OK !!
+%%------CercleTrigo
\defKV[cercletrigo]{%
Rayon=\def\PLcerclerayon{#1},%
Epaisseur=\def\PLcerclethick{#1},%
@@ -1256,7 +1002,7 @@
{}
}
-%==================AideTds============= OK !!
+%%------AideTds
\defKV[aidetds]{%
Code=\def\tdsparam{#1},%
Couleur=\def\tdscouleur{#1},%
@@ -1357,7 +1103,6 @@
}
\NewDocumentCommand\MiniSchemaSignes{ s O{} D<>{} }{%
-%\newcommand\MiniSchemaSignes[1][]{%
\useKVdefault[aidetds]
\setKV[aidetds]{#2}
%simplification des codes
@@ -1439,7 +1184,7 @@
\path (ZZZ.east) + (#4,0) pic[right,scale=#3,every node/.style={scale=#3}] {code={\MiniSchemaSignes[#1]}} ;
}
-%=============RegressionLinéaire======= OK !!
+%%------RegressionLinéaire
%calcul des paramètres
\defKV[coeffreglin]{%
NomCoeffa=\def\RegLinCoeffa{#1},%
@@ -1535,7 +1280,7 @@
\foreach \i in {1,2,...,\LNB} {\filldraw[\RegLinNuageCouleur] ({\LX[\i]-\RegLinNuageOx},{\LY[\i]-\RegLinNuageOy}) circle[radius=\RegLinNuageTaille] ;}
}
-%=============ConversionsBases========= OK !!
+%%------ConversionsBases
%dec->bin avec blocs de 4 chiffres
\setKVdefault[CONVDECBIN]{%
AffBase=true
@@ -1551,10 +1296,6 @@
{\num{#3}\ifboolKV[CONVDECBIN]{AffBase}{_{10}}{}=\num[digit-group-size=4,minimum-integer-digits=\nbgrp]{\resbrut}\ifboolKV[CONVDECBIN]{AffBase}{_{2}}{}}
}
-%bin->hexa avec blocs de 4 chiffres
-%\defKV[CONVBINHEX]{%
-% trait=\def\epcrochet{#1}
-%}
\setKVdefault[CONVBINHEX]{%
%trait=0.5pt,%
AffBase=true,%
@@ -1717,87 +1458,13 @@
\num{\convertbasetobasedix{#2}{#3}}\ifboolKV[CONVTODEC]{AffBase}{_{10}}{}%
}
-%==============MainLevée TikZ========== OK !!
+%%------MainLevée TikZ
\tikzset{%
mainlevee/.style args={#1et#2}{decorate,decoration={random steps,segment length=#1,amplitude=#2}},
mainlevee/.default={5mm et 0.6pt}
}
-%%==============PixelArt TikZ=========== OK !! :=> vers le package PixelArtTikz !!
-%\defKV[pixelarttkz]{%
-% Codes=\def\PATlettres{#1},%
-% Couleurs=\def\PATcouleurs{#1},%
-% Symboles=\def\PATchiffres{#1},%
-% Style=\def\PATtaille{#1}
-%}
-%
-%\setKVdefault[pixelarttkz]{%
-% Style=\scriptsize,%
-% Correction=false,%
-% Symb=false,%
-% BordCases=true
-%}
-%
-%\newcommand\PixelArtTikz[2][]{%
-% \useKVdefault[pixelarttkz]
-% \setKV[pixelarttkz]{#1}
-% %affichage du corrigé
-% \ifboolKV[pixelarttkz]{Correction}
-% {%
-% \csvloop{file=#2,no head,command={%
-% \foreach \l [count=\n] in \csvline {%
-% \StrDel{\l}{ }[\l]
-% \setsepchar{,}
-% \readlist*\LCPA\PATcouleurs
-% \StrPosition{\PATlettres}{\l}[\pixcnt]%
-% \xintifboolexpr{\pixcnt>0}%
-% {%
-% \itemtomacro\LCPA[\pixcnt]\pixcol%
-% \ifboolKV[pixelarttkz]{BordCases}%
-% {\draw[fill=\pixcol] ({\n-0.5},{-\thecsvrow+0.5}) rectangle ({\n+0.5},{-\thecsvrow-0.5}) ;}%
-% {\filldraw[\pixcol] ({\n-0.5},{-\thecsvrow+0.5}) rectangle ({\n+0.5},{-\thecsvrow-0.5}) ;}%
-% %
-% }%
-% {}
-% }
-% }
-% }
-% }
-% {%
-% \ifboolKV[pixelarttkz]{Symb}
-% {%affichage du pixelart versions chiffres si besoin
-% \csvloop{file=#2,no head,command={%
-% \foreach \l [count=\n] in \csvline {%
-% \StrDel{\l}{ }[\l]
-% \setsepchar{,}
-% \readlist*\LCNA\PATchiffres
-% \StrPosition{\PATlettres}{\l}[\pixpos]%
-% \xintifboolexpr{\pixpos>0}%
-% {%
-% \itemtomacro\LCNA[\pixpos]\pixchf%
-% \draw ({\n-0.5},{-\thecsvrow+0.5}) rectangle ({\n+0.5},{-\thecsvrow-0.5}) node[inner sep=0,midway,font=\PATtaille] {\pixchf} ;%
-% }
-% {}%
-% }
-% }
-% }
-% }
-% {%affichage du pixelart versions lettres ou chiffres simples (<=9)
-% \csvloop{file=#2,no head,command={%
-% \foreach \l [count=\n] in \csvline {%
-% \StrDel{\l}{ }[\l]
-% \IfSubStr{\PATlettres}{\l}%
-% {%
-% \draw ({\n-0.5},{-\thecsvrow+0.5}) rectangle ({\n+0.5},{-\thecsvrow-0.5}) node[inner sep=0,midway,font=\PATtaille] {\l};}
-% {}
-% }
-% }
-% }
-% }
-% }
-%}
-
-%=========STATS2VAR=========
+%%------STATS2VAR
%variables directement dans tikzpicture
\tikzset{%
Ox/.store in=\axexOx,Ox/.default=0,Ox=0,%essai
@@ -2159,7 +1826,7 @@
\end{tikzpicture}%
}
-%=============BOITES MOUSTACHES======== OK !!
+%%------BOITES MOUSTACHES
\defKV[boiteamoustaches]{%
Couleur=\def\BaMCouleur{#1},%
Elevation=\def\BaMElevation{#1},%
@@ -2242,7 +1909,7 @@
{}
}
-%================SUDOMATHS============= OK !!
+%%------SUDOMATHS
\defKV[PLTIKZSUDOM]{%
CouleurTexte=\def\PLSMcoultexte{#1},%
Epaisseur=\def\PLSMepf{#1},%
@@ -2369,7 +2036,7 @@
\end{tikzpicture}
}
-%================LOISPROBAS============ OK !!
+%%------LOISPROBAS
%calculs "simples"
\newcommand\CalcBinomP[3]{%npk
\xintFloatToDecimal{\xintfloateval{binomial(#1,#3)*#2^#3*(1-#2)^(#1-#3)}}
@@ -2599,7 +2266,7 @@
}
}
-%===============CONVFROMDEC============ OK !!
+%%------CONVFROMDEC
\newcommand\PLnoeud[2]{\tikz[remember picture,baseline=(#1.base)]\node[shape=rectangle,inner sep=0pt](#1){#2};}
\ExplSyntaxOn
\newcommand\convertbasedixtobase[2]{%
@@ -2658,7 +2325,7 @@
}{}%
}
-%===============ARBRESPROBAS=========== OK !!
+%%------ARBRESPROBAS
\defKV[PLTIKZARBRE]{%
Unite=\def\PLAPunite{#1},%
EspaceNiveau=\def\PLAPespniv{#1},%
@@ -3056,7 +2723,7 @@
\end{tikzpicture}
}
-%==============SCHEMASPROBAS============= OK!
+%%------SCHEMASPROBAS
%densites utiles
\def\densnorm#1{1/(sqrt(2*pi))*exp(-0.5*(#1*#1))}
\def\densexpo#1{exp(-#1)}
@@ -3131,7 +2798,7 @@
\end{tikzpicture}
}
-%===============TRINOMEALEA============== OK!
+%%------TRINOMEALEA
\setKVdefault[trinomealea]{%
Alea=false,%
Anegatif=true
@@ -3171,7 +2838,7 @@
}
-%=================PRESPGCD=============== OK!
+%%------PRESPGCD
\DeclareMathOperator{\PLpgcd}{PGCD}
\defKV[prespgcd]{%
Couleur=\def\PLPGCDCouleur{#1},%
@@ -3234,7 +2901,7 @@
}{}%
}
-%================TVISOLUTION============= OK!
+%%------TVISOLUTION
\defKV[dichoto]{%
NomFct=\def\DHTnomfct{#1},%
va=\def\DHTva{#1},%
@@ -3271,7 +2938,7 @@
}%
}
-%=================CALCSRECUR============= OK!
+%%------CALCSRECUR
\NewDocumentCommand\CalculInterneTermeRecurrence{ m m m m }{%pas forcément utile
\xintdeffloatfunc varfctrecur(x) := #1 ;%
\xdef\vartmp{#3}%
@@ -3423,7 +3090,7 @@
}%
}
-%=================ALEATOIRES============= OK!
+%%------ALEATOIRES
\ExplSyntaxOn
\NewDocumentCommand\TriListeCroiss{m}
{
@@ -3502,7 +3169,7 @@
\StrSubstitute{#2}{,}{\TAEEsep}[#2]%on change le séparateur si besoin
}
-%================SIMPLIFRACINES============ OK!
+%%------SIMPLIFRACINES
\DeclareDocumentCommand\SimplificationRacine{ m }{% argument mandataire {calcul ou fraction}
\xdef\calculargument{\xintIrr{\xinteval{#1}}}%
\IfEndWith{\calculargument}{/1}%
@@ -3544,7 +3211,7 @@
}%
}
-%================MESUREPPALE============= OK!
+%%------MESUREPPALE
\setKVdefault[MesurePpale]{%
Crochets=false,
d=false
@@ -3594,7 +3261,7 @@
}%
}
-%================DICHOTOMIE============== OK!
+%%------DICHOTOMIE
\defKV[SolDichoto]{%
Precision=\xdef\DICHOTOstep{#1},%
Intervalle=\xdef\DICHOTOinterv{#1},%
@@ -3636,13 +3303,16 @@
\expandafter\def\csname#3a\endcsname{\fpeval{round(\varvalm,\DICHOTOstep)}}%
}
-%=================aNp/Cnp================ OK!
+%%------aNp/Cnp
\setKVdefault[anpCnp]{%
- Formule=false
+ Formule=false,%
+ Notation=false,%
+ NotationAncien=false
}
\NewDocumentCommand\Arrangement{ s O{} m m }{%
\useKVdefault[anpCnp]%
\setKV[anpCnp]{#2}%
+ \ifboolKV[anpCnp]{Notation}{A_{#4}^{#3}=}{}%
\ifboolKV[anpCnp]{Formule}{\frac{#4!}{\inteval{#4-#3}!}=}{}%
\IfBooleanTF{#1}%
{\fpeval{fact(#4)/fact(#4-#3)}}%non formaté
@@ -3651,6 +3321,8 @@
\NewDocumentCommand\Combinaison{ s O{} m m }{%
\useKVdefault[anpCnp]%
\setKV[anpCnp]{#2}%
+ \ifboolKV[anpCnp]{Notation}{\binom{#4}{#3} =}{}%
+ \ifboolKV[anpCnp]{NotationAncien}{C_{#4}^{#3}=}{}%
\ifboolKV[anpCnp]{Formule}{\frac{#4!}{#3! \times \inteval{#4-#3}!}=}{}%
\IfBooleanTF{#1}%
{\fpeval{fact(#4)/(fact(#3)*fact(#4-#3))}}%non formaté
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-minted.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-minted.tex
new file mode 100644
index 0000000000..028199ee6d
--- /dev/null
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-minted.tex
@@ -0,0 +1,48 @@
+% proflycee-tools-minted.tex
+% Copyright 2023 Cédric Pierquet
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+
+%%------PYTHONMINTED
+\tcbset{pytmintedno/.style={%
+ listing engine=minted,minted style=colorful,
+ minted language=python,listing only,
+ minted options={tabsize=4,fontsize=\footnotesize,autogobble},
+ }
+}
+
+\tcbset{pytminted/.style={%
+ listing engine=minted,minted style=colorful,
+ minted language=python,listing only,
+ minted options={tabsize=4,fontsize=\footnotesize,autogobble,xleftmargin=16pt,linenos,numbersep=10pt},
+ }
+}
+
+\DeclareTCBListing{CodePythonMinted}{ s O{12cm} O{} }{% étoilée sans numéro, taille puis options...
+ \IfBooleanTF{#1}{pytmintedno}{pytminted},
+ enhanced,width=#2,#3,
+ colframe=Green,colback=ForestGreen!5,%
+ boxrule=1.25pt,
+ sharp corners=downhill,arc=12pt,
+ before skip=12pt,after skip=12pt,%
+ leftupper=8pt,top=10pt,bottom=4pt,rightupper=4pt,%
+ attach boxed title to top right={yshift=-\tcboxedtitleheight},
+ boxed title style={
+ size=small,colback=ForestGreen!25,boxrule=1.25pt,
+ colframe=Green,boxsep=1.25pt,
+ sharp corners=downhill,
+ arc=12pt,
+ top=2pt,bottom=1pt,left=6pt,right=6pt
+ },
+ fonttitle=\color{ForestGreen}\itshape\ttfamily\footnotesize,
+ title={\scriptsize\faPython}\:Code Python\vphantom{y},
+ watermark text={\faPython},watermark opacity=0.175,watermark zoom=0.50,
+ before upper=\renewcommand{\theFancyVerbLine}{\scriptsize\ttfamily\color{Green}\arabic{FancyVerbLine}}
+}
+
+\endinput
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex
new file mode 100644
index 0000000000..5e97e82cc1
--- /dev/null
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex
@@ -0,0 +1,67 @@
+% proflycee-tools-piton.tex
+% Copyright 2023 Cédric Pierquet
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+
+\RequirePackage{iftex}
+
+%%------PYTHONPITON
+\defKV[envpiton]{%
+ Largeur=\def\CODPITlargeur{#1},%
+ Alignement=\def\CODPITalign{#1},%
+ TaillePolice=\def\CODPITfonte{#1}
+}
+
+\setKVdefault[envpiton]{%
+ Largeur=\linewidth,%
+ Alignement=center,%
+ Lignes=true,%
+ Gobble=true,%
+ TaillePolice=\footnotesize
+}
+
+\tcbset{stylepiton/.style={%
+ enhanced,boxrule=1.25pt,%
+ sharp corners=downhill,arc=12pt,
+ before skip=12pt,after skip=12pt,%
+ top=10pt,bottom=1mm,rightupper=4pt,%leftupper=25pt,
+ attach boxed title to top right={yshift=-\tcboxedtitleheight},
+ boxed title style={
+ size=small,colback=ForestGreen!25,boxrule=1.25pt,
+ colframe=Green,boxsep=1.25pt,
+ sharp corners=downhill,
+ arc=12pt,
+ top=2pt,bottom=1pt,left=6pt,right=6pt
+ },
+ fonttitle=\color{ForestGreen}\itshape\ttfamily\footnotesize,
+ title={\scriptsize\faPython}\:Code Python\vphantom{p},
+ watermark text={\faPython},watermark opacity=0.175,watermark zoom=0.50
+ }
+}
+
+\ifluatex
+\RequirePackage{piton}
+\NewPitonEnvironment{CodePiton}{ O{} }%
+{%
+ \useKVdefault[envpiton]%
+ \setKV[envpiton]{#1}% on paramètres les nouvelles clés et on les simplifie
+ \ifboolKV[envpiton]{Lignes}%si lignes=true
+ {\PitonOptions{left-margin=auto,all-line-numbers}}%
+ {}%
+ \ifboolKV[envpiton]{Gobble}%si gobble=true
+ {\PitonOptions{tabs-auto-gobble}}%
+ {}%
+ \PitonOptions{break-lines,indent-broken-lines}%
+ \begin{tcolorbox}[stylepiton,leftupper=8pt,colframe=Green,colback=ForestGreen!5,width=\CODPITlargeur,fontupper=\CODPITfonte,fontlower=\CODPITfonte,\CODPITalign]
+}%
+{%
+ \end{tcolorbox}%
+}
+\fi
+
+\endinput
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-pythontex.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-pythontex.tex
new file mode 100644
index 0000000000..a27acf3248
--- /dev/null
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-pythontex.tex
@@ -0,0 +1,129 @@
+% proflycee-tools-pythontex.tex
+% Copyright 2023 Cédric Pierquet
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+
+%%------CONSOLEPYTHON
+\defKV[envpythonconsole]{%
+ Largeur=\def\CSPYlargeur{#1},%
+ Centre=\testboolKV{#1}
+ {\def\hookcenterpre{\begin{center}}\def\hookcenterpost{\end{center}}}
+ {\def\hookcenterpre{\begin{flushleft}}\def\hookcenterpost{\end{flushleft}}},%
+ TaillePolice=\def\CSPYfonte{#1},%
+ EspacementVertical=\def\CSPYstretch{#1}
+}
+
+\setKVdefault[envpythonconsole]{%
+ Largeur=\linewidth,%
+ Centre=true,%
+ Label=true,%
+ TaillePolice=\footnotesize,%
+ EspacementVertical=1
+}
+
+\newenvironment{ConsolePythontex}[1][]
+{%
+ \useKVdefault[envpythonconsole]%
+ \setKV[envpythonconsole]{#1}% on paramètres les nouvelles clés et on les simplifie
+ \VerbatimEnvironment
+ \hookcenterpre
+ \begin{minipage}{\CSPYlargeur}
+ \ifboolKV[envpythonconsole]{Label}%si label
+ {\begin{pyconsole}[][%
+ framesep=3mm,frame=single,fontsize=\CSPYfonte,framerule=1pt,rulecolor=\color{ForestGreen},label={[\scriptsize Début de la console python]\scriptsize Fin de la console python},baselinestretch=\CSPYstretch]}%
+ {\begin{pyconsole}[][%
+ framesep=3mm,frame=single,fontsize=\CSPYfonte,framerule=1pt,rulecolor=\color{ForestGreen},baselinestretch=\CSPYstretch]}
+}%
+{%
+ \end{pyconsole}
+ \end{minipage}
+ \hookcenterpost
+}
+
+%=========CODEPYTHONTEX=========== OK!!
+\defKV[envpythonverb]{%
+ Largeur=\def\CODPYlargeur{#1},%
+ TaillePolice=\def\CODPYfonte{#1},%
+ EspacementVertical=\def\CODPYstretch{#1},%
+ Centre=\testboolKV{#1}
+ {\def\verbcenterpre{\begin{center}}\def\verbcenterpost{\end{center}}}
+ {\def\verbcenterpre{}\def\verbcenterpost{}}
+}
+
+\setKVdefault[envpythonverb]{%
+ Largeur=\linewidth,%
+ Centre=true,%
+ Lignes=true,%
+ TaillePolice=\footnotesize,%
+ EspacementVertical=1
+}
+
+\tcbset{stylepythontex/.style={%
+ enhanced,boxrule=1.25pt,%
+ sharp corners=downhill,arc=12pt,
+ before skip=12pt,after skip=12pt,%
+ top=10pt,bottom=1mm,rightupper=4pt,%leftupper=25pt,
+ attach boxed title to top right={yshift=-\tcboxedtitleheight},
+ boxed title style={
+ size=small,colback=ForestGreen!25,boxrule=1.25pt,
+ colframe=Green,boxsep=1.25pt,
+ sharp corners=downhill,
+ arc=12pt,
+ top=2pt,bottom=1pt,left=6pt,right=6pt
+ },
+ fonttitle=\color{ForestGreen}\itshape\ttfamily\footnotesize,
+ title={\scriptsize\faPython}\:Code Python\vphantom{p},
+ watermark text={\faPython},watermark opacity=0.175,watermark zoom=0.50,
+ }
+}
+
+\tcbset{stylepythonnolineos/.style={%
+ stylepythontex,leftupper=10pt,
+ colframe=Green,colback=ForestGreen!5,%
+ before upper=\renewcommand\theFancyVerbLine{\scriptsize\ttfamily\color{Gray}\arabic{FancyVerbLine}}
+ }
+}
+
+\tcbset{stylepythonlineos/.style={%
+ stylepythontex,leftupper=25pt,
+ colframe=Green,colback=ForestGreen!5,%
+ % fontlower=\small,%
+ before upper=\renewcommand\theFancyVerbLine{\scriptsize\ttfamily\color{Gray}\arabic{FancyVerbLine}}
+ }
+}
+
+\newtcolorbox{tcpythontexcode}[1][\linewidth]{%
+ width=#1,stylepythonlineos
+}
+
+\newtcolorbox{tcpythontexcodeno}[1][\linewidth]{%
+ width=#1,stylepythonnolineos
+}
+
+\newenvironment{CodePythontex}[1][]
+{%
+ \useKVdefault[envpythonverb]%
+ \setKV[envpythonverb]{#1}% on paramètres les nouvelles clés et on les simplifie
+ \VerbatimEnvironment
+ \verbcenterpre
+ \ifboolKV[envpythonverb]{Lignes}%si lignes=true
+ {\begin{tcpythontexcode}[\CODPYlargeur]}
+ {\begin{tcpythontexcodeno}[\CODPYlargeur]}
+ \ifboolKV[envpythonverb]{Lignes}%si lignes=true
+ {\begin{pyverbatim}[][fontsize=\CODPYfonte,numbers=left,numbersep=10pt,commandchars=\\\{\},mathescape,baselinestretch=\CODPYstretch]}
+ {\begin{pyverbatim}[][numbers=none,numbersep=0pt,fontsize=\CODPYfonte,commandchars=\\\{\},mathescape,baselinestretch=\CODPYstretch]}
+}%
+{%
+ \end{pyverbatim}
+ \ifboolKV[envpythonverb]{Lignes}%si lignes=true
+ {\end{tcpythontexcode}}
+ {\end{tcpythontexcodeno}}
+ \verbcenterpost
+}
+
+\endinput