summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/proflycee/tex/proflycee-tools-ecritures.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/proflycee/tex/proflycee-tools-ecritures.tex')
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-ecritures.tex204
1 files changed, 204 insertions, 0 deletions
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-ecritures.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-ecritures.tex
index ec26d66da2..f178c5b909 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-ecritures.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-ecritures.tex
@@ -7,6 +7,7 @@
\RequirePackage{esvect}
\RequirePackage{ifthen}
\RequirePackage{xspace}
+\RequirePackage{mleftright} %pour une meilleure gestion des espacements avec \left \right :-)
%\RequirePackage{mathrsfs}%pour \mathscr (à voir...)
%===ENSEMBLES CLASSIQUES
@@ -137,6 +138,28 @@
{\newcommand\Integrale{\displaystyle\int}}%
{\renewcommand\Integrale{\displaystyle\int}}%
+\ifthenelse{\isundefined{\Limite}}%
+ {%
+ \NewDocumentCommand\Limite{ s m m o }{%
+ \IfBooleanTF{#1}{\ensuremath{\lim_{\IfNoValueTF{#4}{#3}{\substack{#3 \\ #4}}} #2}}{\ensuremath{\lim\limits_{\IfNoValueTF{#4}{#3}{\substack{#3 \\ #4}}} #2}}}\xspace%
+ }%
+ {%
+ \RenewDocumentCommand\Limite{ s m m o }{%
+ \IfBooleanTF{#1}{\ensuremath{\lim_{\IfNoValueTF{#4}{#3}{\substack{#3 \\ #4}}} #2}}{\ensuremath{\lim\limits_{\IfNoValueTF{#4}{#3}{\substack{#3 \\ #4}}} #2}}}\xspace%
+ }%
+
+%====VALEUR ABSOLUE, NORME
+\DeclarePairedDelimiter\ValAbs{\lvert}{\rvert}%
+\DeclarePairedDelimiter\ModuleCplx{\lvert}{\rvert}%
+\DeclarePairedDelimiter\Norme{\lVert}{\rVert}%
+\makeatletter
+\let\TmpValAbs\ValAbs
+\let\TmpModule\ModuleCplx
+\let\TmpNorme\Norme
+\def\ValAbs{\@ifstar{\TmpValAbs}{\TmpValAbs*}}
+\def\ModuleCplx{\@ifstar{\TmpModule}{\TmpModule*}}
+\def\Norme{\@ifstar{\TmpNorme}{\TmpNorme*}}
+\makeatother
%====PROBAS
\NewDocumentCommand\LoiNormale{ s m m }{%
@@ -254,5 +277,186 @@
}%
}
+%====PROBAS
+\setKVdefault[probascondit]{%
+ min=false,%
+ Maj=false,%
+ BB=false,%
+ Formule=false
+}
+
+\newcommand\notationproba{P}%
+
+\NewDocumentCommand\ProbaCondit{ O{} m m }{%
+ \useKVdefault[probascondit]%
+ \setKV[probascondit]{#1}%
+ %gestion des booléens
+ \ifboolKV[probascondit]{Maj}{\def\notationproba{P}}{}%
+ \ifboolKV[probascondit]{min}{\def\notationproba{p}}{}%
+ \ifboolKV[probascondit]{BB}{\def\notationproba{\mathbb{P}}}{}%
+ \notationproba_{#3}{\left(#2\right)} \ifboolKV[probascondit]{Formule}{= \dfrac{\notationproba{\left(#2 \cap #3\right)}}{\notationproba{\left(#3\right)}}}{}%
+}
+
+%====IF, IC
+\defKV[IntFluc]{%
+ Seuil=\def\intflucconfProba{#1},%
+ Classe=\def\intflucconfNiv{#1},%
+ p=\def\intflucconfP{#1},%
+ n=\def\intflucconfN{#1},%
+ Arrondi=\def\intflucconfPrec{#1}
+}
+\setKVdefault[IntFluc]{%
+ Seuil=95,%
+ Classe=Term,%
+ Arrondi=2,%
+ Calcul=false,%
+ Details=false,%
+ Formule=true,%
+ p={},%
+ n={},%
+ Symbole=\approx
+}
+
+\NewDocumentCommand\IntFluctu{ O{} }{%
+ \useKVdefault[IntFluc]%
+ \setKV[IntFluc]{#1}%
+ \IfStrEqCase{\intflucconfProba}{%
+ {90}{\def\ualpha{1.64}}%
+ {95}{\def\ualpha{1.96}}%
+ {99}{\def\ualpha{2.58}}%
+ %{99.9}{\def\ualpha{3.29}}%
+ }%
+ \ifboolKV[IntFluc]{Formule}%
+ {%
+ \IfStrEqCase{\intflucconfNiv}{%
+ {2de}{\IntervalleFF{ p - \dfrac{1}{\sqrt{n}} }{ p + \dfrac{1}{\sqrt{n}}}}%
+ {Term}{\IntervalleFF{ p-\num{\ualpha}\dfrac{\sqrt{p(1-p)}}{\sqrt{n}} }{ p+\num{\ualpha}\dfrac{\sqrt{p(1-p)}}{\sqrt{n}} }}%
+ }%
+ }%
+ {}%
+ \ifboolKV[IntFluc]{Details}%
+ {%
+ \IfSubStr{\intflucconfP}{/}%
+ {%
+ \def\ValIFp{\ConversionFraction[t]{\intflucconfP}}\def\ValIFpD{\ConversionFraction[d]{\intflucconfP}}%
+ }%
+ {%
+ \def\ValIFp{\num{\intflucconfP}}\def\ValIFpD{\num{\intflucconfP}}%
+ }%
+ =
+ \IfStrEqCase{\intflucconfNiv}{%
+ {2de}{\IntervalleFF{ \ValIFpD - \dfrac{1}{\sqrt{\intflucconfN}} }{ \ValIFpD + \dfrac{1}{\sqrt{\intflucconfN}}}}%
+ {Term}{\IntervalleFF{ \ValIFpD-\num{\ualpha}\dfrac{\sqrt{\ValIFp\mleft(1-\ValIFp\mright)}}{\sqrt{\intflucconfN}} }{ \ValIFpD+\num{\ualpha}\dfrac{\sqrt{\ValIFp\mleft(1-\ValIFp\mright)}}{\sqrt{\intflucconfN}} }}%
+ }%
+ }%
+ {}%
+ \ifboolKV[IntFluc]{Calcul}%
+ {%
+ \IfStrEqCase{\intflucconfNiv}{%calculs avec xfp ??
+ {2de}%
+ {%
+ \def\calcborneinfIF{ \fpeval{ max(floor(\intflucconfP - 1/sqrt(\intflucconfN),\intflucconfPrec),0) } }%
+ \def\calcbornesupIF{ \fpeval{ min(ceil(\intflucconfP + 1/sqrt(\intflucconfN),\intflucconfPrec),1) } }%
+ }%
+ {Term}%
+ {%
+ \def\calcborneinfIF{ \fpeval{ max(floor(\intflucconfP - \ualpha*sqrt(\intflucconfP*(1-\intflucconfP))/sqrt(\intflucconfN),\intflucconfPrec),0) } }%
+ \def\calcbornesupIF{ \fpeval{ min(ceil(\intflucconfP + \ualpha*sqrt(\intflucconfP*(1-\intflucconfP))/sqrt(\intflucconfN),\intflucconfPrec),1) } }%
+ }%
+ }%
+ \useKV[IntFluc]{Symbole} \IntervalleFF{ \num{\calcborneinfIF} }{ \num{\calcbornesupIF} }%
+ }%
+ {}%
+}
+
+\NewDocumentCommand\RedactionIntFluct{ O{} m }{%
+ %\setKV[IntFluc]{#1}%
+ \begin{flalign*}
+ #2 &= \IntFluctu[Formule,Details=false,Calcul=false] && \\
+ & \IntFluctu[Formule=false,Details=true,Calcul=false,#1] && \\
+ & \IntFluctu[Formule=false,Details=false,Calcul=true,#1] && \\
+ \end{flalign*}%
+}
+
+\defKV[IntConf]{%
+ Seuil=\def\intflucconfProba{#1},%
+ Classe=\def\intflucconfNiv{#1},%
+ f=\def\intflucconfF{#1},%
+ n=\def\intflucconfN{#1},%
+ Arrondi=\def\intflucconfPrec{#1}
+}
+\setKVdefault[IntConf]{%
+ Seuil=95,%
+ Classe=Term,%
+ Arrondi=2,%
+ Calcul=false,%
+ Details=false,%
+ Formule=true,%
+ f={},%
+ n={},%
+ Symbole=\approx
+}
+
+\NewDocumentCommand\IntConf{ O{} }{%
+ \useKVdefault[IntConf]%
+ \setKV[IntConf]{#1}%
+ \IfStrEqCase{\intflucconfProba}{%
+ {90}{\def\ualpha{1.64}}%
+ {95}{\def\ualpha{1.96}}%
+ {99}{\def\ualpha{2.58}}%
+ %{99.9}{\def\ualpha{3.29}}%
+ }%
+ \ifboolKV[IntConf]{Formule}%
+ {%
+ \IfStrEqCase{\intflucconfNiv}{%
+ {2de}{\IntervalleFF{ f - \dfrac{1}{\sqrt{n}} }{ f + \dfrac{1}{\sqrt{n}}}}%
+ {Term}{\IntervalleFF{ f-\num{\ualpha}\dfrac{\sqrt{f(1-f)}}{\sqrt{n}} }{ f+\num{\ualpha}\dfrac{\sqrt{f(1-f)}}{\sqrt{n}} }}%
+ }%
+ }%
+ {}%
+ \ifboolKV[IntConf]{Details}%
+ {%
+ \IfSubStr{\intflucconfF}{/}%
+ {%
+ \def\ValIFp{\ConversionFraction[t]{\intflucconfF}}\def\ValIFpD{\ConversionFraction[d]{\intflucconfF}}%
+ }%
+ {%
+ \def\ValIFp{\num{\intflucconfF}}\def\ValIFpD{\num{\intflucconfF}}%
+ }%
+ =
+ \IfStrEqCase{\intflucconfNiv}{%
+ {2de}{\IntervalleFF{ \ValIFpD - \dfrac{1}{\sqrt{\num{\intflucconfN}}} }{ \ValIFpD + \dfrac{1}{\sqrt{\num{\intflucconfN}}}}}%
+ {Term}{\IntervalleFF{ \ValIFpD-\num{\ualpha}\dfrac{\sqrt{\ValIFp\mleft(1-\ValIFp\mright)}}{\sqrt{\num{\intflucconfN}}} }{ \ValIFpD+\num{\ualpha}\dfrac{\sqrt{\ValIFp\mleft(1-\ValIFp\mright)}}{\sqrt{\num{\intflucconfN}}} }}%
+ }%
+ }%
+ {}%
+ \ifboolKV[IntConf]{Calcul}%
+ {%
+ \IfStrEqCase{\intflucconfNiv}{%calculs avec xfp ??
+ {2de}%
+ {%
+ \def\calcborneinfIF{ \fpeval{ max(floor(\intflucconfF - 1/sqrt(\intflucconfN),\intflucconfPrec),0) } }%
+ \def\calcbornesupIF{ \fpeval{ min(ceil(\intflucconfF + 1/sqrt(\intflucconfN),\intflucconfPrec),1) } }%
+ }%
+ {Term}%
+ {%
+ \def\calcborneinfIF{ \fpeval{ max(floor(\intflucconfF - \ualpha*sqrt(\intflucconfF*(1-\intflucconfF))/sqrt(\intflucconfN),\intflucconfPrec),0) } }%
+ \def\calcbornesupIF{ \fpeval{ min(ceil(\intflucconfF + \ualpha*sqrt(\intflucconfF*(1-\intflucconfF))/sqrt(\intflucconfN),\intflucconfPrec),1) } }%
+ }%
+ }%
+ \useKV[IntConf]{Symbole}
+ \IntervalleFF{ \num{\calcborneinfIF} }{ \num{\calcbornesupIF} }%
+ }%
+ {}%
+}
+
+\NewDocumentCommand\RedactionIntConf{ O{} m }{%
+ %\setKV[IntConf]{#1}%
+ \begin{flalign*}
+ #2 &= \IntConf[Formule,Details=false,Calcul=false] && \\
+ & \IntConf[Formule=false,Details=true,Calcul=false,#1] && \\
+ & \IntConf[Formule=false,Details=false,Calcul=true,#1] && \\
+ \end{flalign*}%
+}
\endinput \ No newline at end of file