%%% % D\'ecomposition de fractions %%% \def\filedateDecompFrac{2025/05/28}% \def\fileversionDecompFrac{0.1b}% \message{-- \filedateDecompFrac\space v\fileversionDecompFrac}% % \setKVdefault[CleDecompFra]{PE,PF,Fraction,Egal,Deno,Solution=false,Dots=20pt,Complete=false,Vide=false,Couleur={}} \defKV[CleDecompFra]{Couleur=\ifempty{#1}{}{\setKV[CleDecompFra]{Solution}\colorlet{PfCDecompFraCol}{#1}}}% % \NewDocumentCommand\DecompositionFraction{som}{% \useKVdefault[CleDecompFra]% \setKV[CleDecompFra]{#2}% \ifboolKV[CleDecompFra]{Vide}{\setKV[CleDecompFra]{PE=false,PF=false,Deno=false}}{}% \setlength{\PfCLgUnites}{\useKV[CleDecompFra]{Dots}}% \ensuremath{% \StrBefore{#3}{/}[\PfCnumera]% \StrBehind{#3}{/}[\PfCdeno]% \IfBooleanTF{#1}{% \quotient{\PfCnumera}{\PfCdeno}% \modulo{\PfCnumera}{\PfCdeno}% \ifboolKV[CleDecompFra]{Complete}{\ifboolKV[CleDecompFra]{Fraction}{\tofrac{#3}}{\frac{\ifboolKV[CleDecompFra]{Solution}{\mathcolor{PfCDecompFraCol}{\num{\PfCnumera}}}{\pointilles[\PfCLgUnites]~}}{\ifboolKV[CleDecompFra]{Solution}{\mathcolor{PfCDecompFraCol}{\num{\PfCdeno}}}{\pointilles[\PfCLgUnites]~}}}\ifboolKV[CleDecompFra]{Egal}{=}{\ifboolKV[CleDecompFra]{Solution}{\mathcolor{PfCDecompFraCol}{=}}{\raisebox{0.25em}{\pointilles[\PfCLgUnites]}~}}}{}\ifboolKV[CleDecompFra]{PE}{\fpeval{\the\intquotient+1}}{\ifboolKV[CleDecompFra]{Solution}{\mathcolor{PfCDecompFraCol}{\fpeval{\the\intquotient+1}}}{\pointilles[\PfCLgUnites]~}}-\frac{\ifboolKV[CleDecompFra]{PF}{\fpeval{\PfCdeno-\the\remainder}}{\ifboolKV[CleDecompFra]{Solution}{\mathcolor{PfCDecompFraCol}{\fpeval{\PfCdeno-\the\remainder}}}{\pointilles[\PfCLgUnites]~}}}{\ifboolKV[CleDecompFra]{Deno}{\PfCdeno}{\ifboolKV[CleDecompFra]{Solution}{\mathcolor{PfCDecompFraCol}{\num{\PfCdeno}}}{\pointilles[\PfCLgUnites]~}}} }{% \ifnum\fpeval{\PfCnumera}>\fpeval{\PfCdeno}\relax \quotient{\PfCnumera}{\PfCdeno}% \modulo{\PfCnumera}{\PfCdeno}% \ifboolKV[CleDecompFra]{Complete}{\ifboolKV[CleDecompFra]{Fraction}{\tofrac{#3}}{\frac{\ifboolKV[CleDecompFra]{Solution}{\mathcolor{PfCDecompFraCol}{\num{\PfCnumera}}}{\pointilles[\PfCLgUnites]~}}{\ifboolKV[CleDecompFra]{Solution}{\mathcolor{PfCDecompFraCol}{\num{\PfCdeno}}}{\pointilles[\PfCLgUnites]~}}}\ifboolKV[CleDecompFra]{Egal}{=}{\ifboolKV[CleDecompFra]{Solution}{\mathcolor{PfCDecompFraCol}{=}}{\raisebox{0.25em}{\pointilles[\PfCLgUnites]}~}}}{}\ifboolKV[CleDecompFra]{PE}{\the\intquotient}{\ifboolKV[CleDecompFra]{Solution}{\mathcolor{PfCDecompFraCol}{\the\intquotient}}{\pointilles[\PfCLgUnites]~}}+\frac{\ifboolKV[CleDecompFra]{PF}{\the\remainder}{\ifboolKV[CleDecompFra]{Solution}{\mathcolor{PfCDecompFraCol}{\the\remainder}}{\pointilles[\PfCLgUnites]~}}}{\ifboolKV[CleDecompFra]{Deno}{\PfCdeno}{\ifboolKV[CleDecompFra]{Solution}{\mathcolor{PfCDecompFraCol}{\num{\PfCdeno}}}{\pointilles[\PfCLgUnites]~}}} \else \mathcolor{Gray!50}{0+}\tofrac{#3} \fi% }% }% }%