summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/proflycee/tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-04-28 03:01:37 +0000
committerNorbert Preining <norbert@preining.info>2023-04-28 03:01:37 +0000
commitecdd3beb4fb3bcd9ea2f1c6349a68f74a40f1679 (patch)
treef9f048d640b29aaf501c9db5491a351fa48fb2fd /macros/latex/contrib/proflycee/tex
parente947b2310e888cd5b10265d596eb332da9f6bdec (diff)
CTAN sync 202304280301
Diffstat (limited to 'macros/latex/contrib/proflycee/tex')
-rw-r--r--macros/latex/contrib/proflycee/tex/ProfLycee.sty3
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex148
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-graphiques.tex4
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-listings.tex8
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-minted.tex4
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex4
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-pythontex.tex46
7 files changed, 184 insertions, 33 deletions
diff --git a/macros/latex/contrib/proflycee/tex/ProfLycee.sty b/macros/latex/contrib/proflycee/tex/ProfLycee.sty
index 11c7d596db..6a98a82d75 100644
--- a/macros/latex/contrib/proflycee/tex/ProfLycee.sty
+++ b/macros/latex/contrib/proflycee/tex/ProfLycee.sty
@@ -3,7 +3,8 @@
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ProfLycee}[2023/04/13 2.6.0 Aide pour l'utilisation de LaTeX en lycee]
+\ProvidesPackage{ProfLycee}[2023/04/27 2.6.1 Aide pour l'utilisation de LaTeX en lycee]
+% 2.6.1 Ajout de commandes pour du calcul intégral (valeur approchée + tikz)
% 2.6.0 Ajout d'une clé [Brut] pour les mesures principales + commande calcul ligne trigo
% Refonte des fichiers inclus + correction de bugs mineurs
% Split des thèmes en fichiers 'input'
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex
index 921a053556..e1ccba52d6 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex
@@ -382,5 +382,153 @@
\expandafter\def\csname#3a\endcsname{\fpeval{round(\varvalm,\DICHOTOstep)}}%
}
+%==taux acroissement==
+\defKV[tauxaccroiss]{%
+ Precision=\def\TauxAccroisPrec{#1},%
+ Signe=\def\TauxAccroisEqual{#1},%
+ NomFct=\def\TauxAccroisFct{#1}
+}
+
+\setKVdefault[tauxaccroiss]{%
+ Precision=3,%
+ AffFormule=false,%
+ Displaystyle=true,%
+ ResultatBrut=false,%
+ Signe={\approx},%
+ NomFct=f
+}
+
+\NewDocumentCommand\TauxAccroissement{ O{} m m m }{%opts+fct+pt+h
+ \useKVdefault[tauxaccroiss]%
+ \setKV[tauxaccroiss]{#1}%
+ \xintdeffloatfunc varfct(x) := #2 ;%
+ \def\TmpRes{\xintfloateval{(varfct(#3+#4)-varfct(#3))/(#4)}}%
+ \ifboolKV[methodeintegr]{ResultatBrut}%
+ {\TmpRes}%
+ {%
+ \ifboolKV[tauxaccroiss]{AffFormule}%
+ {%
+ \ifboolKV[tauxaccroiss]{Displaystyle}{\displaystyle}{}%
+ \frac{\TauxAccroisFct(\num{\xinteval{#3+#4}})-\TauxAccroisFct(\num{#3})}{\num{#4}} \TauxAccroisEqual}%
+ {}%
+ \num{\xintfloateval{round(\TmpRes,\TauxAccroisPrec)}}%
+ }%
+}
+
+%==approx intégrale==
+\defKV[methodeintegr]{%
+ Precision=\def\MethIntegrPrec{#1},%
+ NbSubDiv=\def\MethIntegrNb{#1},%
+ Methode=\def\MethIntegrType{#1},%
+ Signe=\def\MethIntegrEqual{#1},%
+ Expr=\def\MethIntegrFct{#1},%
+ Variable=\def\MethIntegrVar{#1}
+}
+
+\setKVdefault[methodeintegr]{%
+ Precision=3,%
+ NbSubDiv=10,%
+ Methode=Simpson,%
+ ResultatBrut=false,%
+ AffFormule=false,%
+ Signe={\approx},%
+ Expr=f(x),%
+ Variable=x
+}
+
+\NewDocumentCommand\IntegraleApprochee{ O{} m m m }{%opts+fct+a+b
+ \useKVdefault[methodeintegr]%
+ \setKV[methodeintegr]{#1}%
+ \xintdeffloatfunc varfct(x) := #2 ;%
+ \def\TmpNmU{\xinteval{\MethIntegrNb-1}}%
+ \IfEq{\MethIntegrType}{RectanglesGauche}%
+ {%
+ \def\TmpRes{\xintfloateval{(#4-#3)/\MethIntegrNb*add(varfct(#3+i*(#4-#3)/\MethIntegrNb), i=0..\TmpNmU)}}%
+ }%
+ {}%
+ \IfEq{\MethIntegrType}{RectanglesMilieu}%
+ {%
+ \def\TmpRes{\xintfloateval{(#4-#3)/\MethIntegrNb*add(varfct(#3+(i+0.5)*(#4-#3)/\MethIntegrNb), i=0..\TmpNmU)}}%
+ }%
+ {}%
+ \IfEq{\MethIntegrType}{RectanglesDroite}%
+ {%
+ \def\TmpRes{\xintfloateval{(#4-#3)/\MethIntegrNb*add(varfct(#3+i*(#4-#3)/\MethIntegrNb), i=1..\MethIntegrNb)}}%
+ }%
+ {}%
+ \IfEq{\MethIntegrType}{Trapezes}%
+ {%
+ \def\TmpRes{\xintfloateval{(#4-#3)/\MethIntegrNb*add(0.5*varfct(#3+i*(#4-#3)/\MethIntegrNb)+0.5*varfct(#3+(i+1)*(#4-#3)/\MethIntegrNb), i=0..\TmpNmU)}}%
+ }%
+ {}%
+ \IfEq{\MethIntegrType}{Simpson}%
+ {%
+ \def\TmpRes{\xintfloateval{(#4-#3)/(6*\MethIntegrNb)*(2*add(varfct(#3+i*(#4-#3)/\MethIntegrNb), i=1..\TmpNmU)+varfct(#3)+varfct(#4)+4*add(varfct(#3+(i+0.5)*(#4-#3)/\MethIntegrNb), i=0..\TmpNmU))}}%
+ }%
+ {}%
+ \ifboolKV[methodeintegr]{ResultatBrut}%
+ {\TmpRes}%
+ {%
+ \ifboolKV[methodeintegr]{AffFormule}%
+ {%
+ \int_{#3}^{#4} \MethIntegrFct\,\text{d}\MethIntegrVar\MethIntegrEqual%
+ }%
+ {}%
+ \num{\xintfloateval{round(\TmpRes,\MethIntegrPrec)}}
+ }%
+}
+
+%==intégrale tikz==
+
+\defKV[methodeintegrtkz]{%
+ Couleur=\def\MethIntegrTkzCol{#1},%
+ CouleurRemplissage=\def\MethIntegrTkzColOpak{#1},%
+ NbSubDiv=\def\MethIntegrTkzNb{#1},%
+ Methode=\def\MethIntegrTkzType{#1},%
+ Opacite=\def\MethIntegrTkzOpak{#1},%
+ Epaisseur=\def\MethIntegrTkzThick{#1}
+}
+
+\setKVdefault[methodeintegrtkz]{%
+ Couleur=red,%
+ NbSubDiv=10,%
+ Methode=RectanglesGauche,%
+ Remplir=true,%
+ CouleurRemplissage={\MethIntegrTkzCol!25},%
+ Opacite=0.25,%
+ Epaisseur=semithick
+}
+
+\NewDocumentCommand\IntegraleApprocheeTikz{ O{} m m m }{%opts+nom_fct+a+b
+ \useKVdefault[methodeintegrtkz]%
+ \setKV[methodeintegrtkz]{#1}%
+ \tikzset{figureintegr/.style={\MethIntegrTkzThick,\MethIntegrTkzCol,fill=\MethIntegrTkzColOpak,fill opacity=\MethIntegrTkzOpak}}%
+ \def\TmpH{(#4-#3)/\MethIntegrTkzNb}
+ %rectangles gauches
+ \IfEq{\MethIntegrTkzType}{RectanglesGauche}%
+ {%
+ \foreach \i in {0,...,\inteval{\MethIntegrTkzNb-1}}%
+ \draw[figureintegr] ({#3+\i*\TmpH},{0}) rectangle++ ({\TmpH},{#2(#3+\i*\TmpH)}) ;
+ }%
+ {}%
+ \IfEq{\MethIntegrTkzType}{RectanglesDroite}%
+ {%
+ \foreach \i in {0,...,\inteval{\MethIntegrTkzNb-1}}%
+ \draw[figureintegr] ({#3+\i*\TmpH},{0}) rectangle++ ({\TmpH},{#2(#3+(\i+1)*\TmpH)}) ;
+ }%
+ {}%
+ \IfEq{\MethIntegrTkzType}{RectanglesMilieu}%
+ {%
+ \foreach \i in {0,...,\inteval{\MethIntegrTkzNb-1}}%
+ \draw[figureintegr] ({#3+\i*\TmpH},{0}) rectangle++ ({\TmpH},{#2(#3+(\i+0.5)*\TmpH)}) ;
+ }%
+ {}%
+ \IfEq{\MethIntegrTkzType}{Trapezes}%
+ {%
+ \foreach \i in {0,...,\inteval{\MethIntegrTkzNb-1}}%
+ \draw[figureintegr] ({#3+\i*\TmpH},{0}) -- ({#3+\i*\TmpH},{#2(#3+\i*\TmpH)}) -- ({#3+(\i+1)*\TmpH},{#2(#3+(\i+1)*\TmpH)}) -- ({#3+(\i+1)*\TmpH},{0}) -- cycle ;
+ }%
+ {}%
+}
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-graphiques.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-graphiques.tex
index 8f827908ae..0ddb801129 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-graphiques.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-graphiques.tex
@@ -520,6 +520,8 @@
{}%
}
-
+\NewDocumentCommand\DeclareFonctionTikz{ O{f} m }{%nom_fonction+langage tikz
+ \tikzset{declare function={#1(\x)=#2;}}
+}
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-listings.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-listings.tex
index 0e39796c76..5a098314f7 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-listings.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-listings.tex
@@ -69,7 +69,7 @@
enhanced,boxrule=1.25pt,%
left=0.6em,
sharp corners=downhill,arc=12pt,
- before skip=\baselineskip,after skip=\baselineskip,%
+ before skip=0.5\baselineskip,after skip=0.5\baselineskip,%
top=\baselineskip,bottom=1mm,right=5mm,
attach boxed title to top right={yshift=-\tcboxedtitleheight},
boxed title style={
@@ -114,7 +114,7 @@
\tcbset{StylPythonB/.style={%
enhanced,boxrule=0.75pt,colframe=DarkGray!50!Black,%
sharp corners,top=0mm,bottom=0mm,left=0.2em,right=5mm,%
- before skip=\baselineskip,after skip=\baselineskip,%
+ before skip=0.5\baselineskip,after skip=0.5\baselineskip,%
colback=white,
fontupper=\footnotesize,fontlower=\footnotesize,%
listing only,listing engine=listings,%
@@ -188,7 +188,7 @@
%style tcbox pseudocode avec bannière hautdroite
\tcbset{stylepseudocodePL/.style={%
enhanced,boxrule=1.25pt,sharp corners=downhill,arc=12pt,
- before skip=\baselineskip,after skip=\baselineskip,leftupper=10pt,top=\baselineskip,bottom=1mm,rightupper=5mm,%
+ before skip=0.5\baselineskip,after skip=0.5\baselineskip,leftupper=10pt,top=\baselineskip,bottom=1mm,rightupper=5mm,%
attach boxed title to top right={yshift=-\tcboxedtitleheight},
boxed title style={
size=small,colback=gray!25,boxrule=1.25pt,
@@ -267,7 +267,7 @@
\tcbset{stylepseudocodePLalt/.style={%
enhanced,boxrule=0.75pt,colframe=DarkGray!50!Black,%
sharp corners,top=0mm,bottom=0mm,left=0.4em,right=5mm,%
- before skip=\baselineskip,after skip=\baselineskip,%
+ before skip=0.5\baselineskip,after skip=0.5\baselineskip,%
colback=white,
fontupper=\footnotesize,fontlower=\footnotesize,%
listing only,listing engine=listings,%
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-minted.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-minted.tex
index da385ed1a1..4fcf8b8c92 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-minted.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-minted.tex
@@ -33,7 +33,7 @@
colframe=Green,colback=ForestGreen!5,%
boxrule=1.25pt,
sharp corners=downhill,arc=12pt,
- before skip=\baselineskip,after skip=\baselineskip,%
+ before skip=0.5\baselineskip,after skip=0.5\baselineskip,%
left=0.6em,top=\baselineskip,bottom=2mm,right=5mm,%
attach boxed title to top right={yshift=-\tcboxedtitleheight},
boxed title style={
@@ -74,7 +74,7 @@
width=#2,#3,
enhanced,boxrule=0.75pt,colframe=DarkGray!50!Black,%
sharp corners,top=0mm,bottom=0mm,left=0.2em,right=5mm,%
- before skip=\baselineskip,after skip=\baselineskip,%
+ before skip=0.5\baselineskip,after skip=0.5\baselineskip,%
colback=white,
fontupper=\footnotesize,fontlower=\footnotesize,%
watermark text={\faPython},watermark opacity=0.25,watermark zoom=0.50,%
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex
index 4e0511aa83..8456b1601e 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex
@@ -38,7 +38,7 @@
Cadre=true,%
BarreTitre=true,%
Titre={{\scriptsize\faCode} Code Python},%
- EspacementV=\baselineskip,%
+ EspacementV=0.5\baselineskip,%
CouleurNombres=orange
}
@@ -143,7 +143,7 @@
\tcbset{consolepylua/.style={%base de la boîte
enhanced,colback=white,colframe=ForestGreen,sharp corners,boxrule=1pt,%
top=1.5mm,bottom=1.5mm,left=2mm,right=2mm,fontupper=\footnotesize,%
- before skip=\baselineskip,after skip=\baselineskip,%
+ before skip=0.5\baselineskip,after skip=0.5\baselineskip,%
}
}
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-pythontex.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-pythontex.tex
index 30690cb49a..1394813fdf 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-pythontex.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-pythontex.tex
@@ -51,15 +51,15 @@
\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{}}
+ EspacementVertical=\def\CODPYstretch{#1}
+% Centre=\testboolKV{#1}
+% {\def\verbcenterpre{\begin{center}}\def\verbcenterpost{\end{center}}}
+% {\def\verbcenterpre{}\def\verbcenterpost{}}
}
\setKVdefault[envpythonverb]{%
Largeur=\linewidth,%
- Centre=false,%
+% Centre=false,%
Lignes=true,%
TaillePolice=\footnotesize,%
EspacementVertical=1
@@ -70,7 +70,7 @@
\tcbset{stylepythontex/.style={%
enhanced,boxrule=1.25pt,%
sharp corners=downhill,arc=12pt,
- before skip=\baselineskip,after skip=\baselineskip,%
+ before skip=0.5\baselineskip,after skip=0.5\baselineskip,%
top=\baselineskip,bottom=1mm,right=5mm,left=0.6em,
attach boxed title to top right={yshift=-\tcboxedtitleheight},
boxed title style={
@@ -98,12 +98,12 @@
}
}
-\newtcolorbox{tcpythontexcode}[1][\linewidth]{%
- width=#1,stylepythonlineos
+\newtcolorbox{tcpythontexcode}[2][\linewidth]{%
+ width=#1,stylepythonlineos,#2
}
-\newtcolorbox{tcpythontexcodeno}[1][\linewidth]{%
- width=#1,stylepythonnolineos
+\newtcolorbox{tcpythontexcodeno}[2][\linewidth]{%
+ width=#1,stylepythonnolineos,#2
}
\NewDocumentEnvironment{CodePythontex}{ O{} m }
@@ -111,10 +111,10 @@
\useKVdefault[envpythonverb]%
\setKV[envpythonverb]{#1}% on paramètres les nouvelles clés et on les simplifie
\VerbatimEnvironment
- \verbcenterpre
+% \verbcenterpre
\ifboolKV[envpythonverb]{Lignes}%si lignes=true
- {\begin{tcpythontexcode}[\CODPYlargeur]}
- {\begin{tcpythontexcodeno}[\CODPYlargeur]}
+ {\begin{tcpythontexcode}[\CODPYlargeur]{#2}}
+ {\begin{tcpythontexcodeno}[\CODPYlargeur]{#2}}
\ifboolKV[envpythonverb]{Lignes}%si lignes=true
{\begin{pyverbatim}[][fontsize=\CODPYfonte,numbers=left,numbersep=0.75em,commandchars=\\\{\},mathescape,baselinestretch=\CODPYstretch]}
{\begin{pyverbatim}[][numbers=none,numbersep=0pt,fontsize=\CODPYfonte,commandchars=\\\{\},mathescape,baselinestretch=\CODPYstretch]}
@@ -124,14 +124,14 @@
\ifboolKV[envpythonverb]{Lignes}%si lignes=true
{\end{tcpythontexcode}}
{\end{tcpythontexcodeno}}
- \verbcenterpost
+% \verbcenterpost
}
%v2
\tcbset{stylepythontexalt/.style={%
enhanced,boxrule=0.75pt,colframe=DarkGray!50!Black,%
sharp corners,top=0mm,bottom=0mm,left=0.2em,right=5mm,%
- before skip=\baselineskip,after skip=\baselineskip,%
+ before skip=0.5\baselineskip,after skip=0.5\baselineskip,%
colback=white,
fontupper=\footnotesize,fontlower=\footnotesize,%
title={{\scriptsize\faCode} Code Python},
@@ -157,22 +157,22 @@
}
}
-\newtcolorbox{tcpythontexcodealt}[1][\linewidth]{%
- width=#1,stylepythonlineosalt
+\newtcolorbox{tcpythontexcodealt}[2][\linewidth]{%
+ width=#1,stylepythonlineosalt,#2
}
-\newtcolorbox{tcpythontexcodenoalt}[1][\linewidth]{%
- width=#1,stylepythonnolineosalt
+\newtcolorbox{tcpythontexcodenoalt}[2][\linewidth]{%
+ width=#1,stylepythonnolineosalt,#2
}
\NewDocumentEnvironment{CodePythontexAlt}{ O{} m }
{%
\useKVdefault[envpythonverb]%
\setKV[envpythonverb]{#1}% on paramètres les nouvelles clés et on les simplifie
\VerbatimEnvironment
- \verbcenterpre
+% \verbcenterpre
\ifboolKV[envpythonverb]{Lignes}%si lignes=true
- {\begin{tcpythontexcodealt}[\CODPYlargeur]}
- {\begin{tcpythontexcodenoalt}[\CODPYlargeur]}
+ {\begin{tcpythontexcodealt}[\CODPYlargeur]{#2}}
+ {\begin{tcpythontexcodenoalt}[\CODPYlargeur]{#2}}
\ifboolKV[envpythonverb]{Lignes}%si lignes=true
{\begin{pyverbatim}[][fontsize=\CODPYfonte,numbers=left,numbersep=0.75em,commandchars=\\\{\},mathescape,baselinestretch=\CODPYstretch]}
{\begin{pyverbatim}[][numbers=none,numbersep=0pt,fontsize=\CODPYfonte,commandchars=\\\{\},mathescape,baselinestretch=\CODPYstretch]}
@@ -182,7 +182,7 @@
\ifboolKV[envpythonverb]{Lignes}%si lignes=true
{\end{tcpythontexcodealt}}
{\end{tcpythontexcodenoalt}}
- \verbcenterpost
+% \verbcenterpost
}
\endinput \ No newline at end of file