From 79d83efd914b8c50f9e3a2dd99cb15dcb91e72f9 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 28 Apr 2023 21:31:35 +0000 Subject: proflycee (28apr23) git-svn-id: svn://tug.org/texlive/trunk@66962 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/latex/proflycee/ProfLycee.sty | 3 +- .../latex/proflycee/proflycee-tools-analyse.tex | 148 +++++++++++++++++++++ .../latex/proflycee/proflycee-tools-graphiques.tex | 4 +- .../latex/proflycee/proflycee-tools-listings.tex | 8 +- .../tex/latex/proflycee/proflycee-tools-minted.tex | 4 +- .../tex/latex/proflycee/proflycee-tools-piton.tex | 4 +- .../latex/proflycee/proflycee-tools-pythontex.tex | 46 +++---- 7 files changed, 184 insertions(+), 33 deletions(-) (limited to 'Master/texmf-dist/tex/latex') diff --git a/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty b/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty index 11c7d596db2..6a98a82d750 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/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/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-analyse.tex b/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-analyse.tex index 921a0535568..e1ccba52d61 100644 --- a/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-analyse.tex +++ b/Master/texmf-dist/tex/latex/proflycee/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/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-graphiques.tex b/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-graphiques.tex index 8f827908aef..0ddb8011294 100644 --- a/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-graphiques.tex +++ b/Master/texmf-dist/tex/latex/proflycee/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/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-listings.tex b/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-listings.tex index 0e39796c76c..5a098314f79 100644 --- a/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-listings.tex +++ b/Master/texmf-dist/tex/latex/proflycee/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/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-minted.tex b/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-minted.tex index da385ed1a1d..4fcf8b8c927 100644 --- a/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-minted.tex +++ b/Master/texmf-dist/tex/latex/proflycee/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/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-piton.tex b/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-piton.tex index 4e0511aa839..8456b1601e9 100644 --- a/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-piton.tex +++ b/Master/texmf-dist/tex/latex/proflycee/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/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-pythontex.tex b/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-pythontex.tex index 30690cb49a9..1394813fdfc 100644 --- a/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-pythontex.tex +++ b/Master/texmf-dist/tex/latex/proflycee/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 -- cgit v1.2.3