diff options
Diffstat (limited to 'macros/latex/contrib/profcollege/latex/PfCCalculsFractions.tex')
-rw-r--r-- | macros/latex/contrib/profcollege/latex/PfCCalculsFractions.tex | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/macros/latex/contrib/profcollege/latex/PfCCalculsFractions.tex b/macros/latex/contrib/profcollege/latex/PfCCalculsFractions.tex index 2e6ff56149..06a02de387 100644 --- a/macros/latex/contrib/profcollege/latex/PfCCalculsFractions.tex +++ b/macros/latex/contrib/profcollege/latex/PfCCalculsFractions.tex @@ -1,5 +1,5 @@ -\setKVdefault[CalculsFractions]{Couleurs=false} -\defKV[CalculsFractions]{Couleur=\setKV[CalculsFractions]{Couleurs}} +\setKVdefault[CalculsFractions]{Couleurs=false,Negatif=false}% +\defKV[CalculsFractions]{Couleur=\setKV[CalculsFractions]{Couleurs}}% \NewDocumentCommand\tofrac{m}{% \IfDecimal{#1}{#1}{% @@ -33,7 +33,7 @@ \xdef\PfCAddFoo{\PfCNumA/\PfCNumB,\PfCNumC/\PfCNumD}% \setsepchar[*]{,*/}\ignoreemptyitems% \readlist*\ListeFractions{\PfCAddFoo}% - \reademptyitems + \reademptyitems% \setsepchar{,}% % Partie calculs \PGCD{\ListeFractions[1,2]}{\ListeFractions[2,2]}% @@ -50,7 +50,10 @@ \ensuremath{% \IfValueTF{#3}{% \ifnum#3=4\relax% - \tofrac{\PfCAddSumSimp}% + %test + \ifboolKV[CalculsFractions]{Negatif}{% + \xintifboolexpr{\fpeval{\PfCAddNumSimp/\PfCAddDenoSimp}<0}{-\tofrac{\fpeval{abs(\PfCAddNumSimp)}/\fpeval{abs(\PfCAddDenoSimp)}}}{\tofrac{\PfCAddSumSimp}}% + }{\tofrac{\PfCAddSumSimp}}% \else% \ifnum#3=3\relax% \SSimpliTest{\fpeval{abs(\PfCAddNumFin)}}{\fpeval{abs(\PfCAddDenoFin)}}\ifthenelse{\boolean{Simplification}}{\tofrac{\PfCAddNumFin/\PfCAddDenoFin}}{\tofrac{\PfCAddSumSimp}}% @@ -79,8 +82,8 @@ }% }% -\NewDocumentCommand\SousFraction{oomm}{% - \AddFraction*[#1][#2]{#3}{#4}% +\NewDocumentCommand\SousFraction{oommo}{% + \AddFraction*[#1][#2]{#3}{#4}[#5]% }% \NewDocumentCommand\MulFraction{oommo}{% @@ -114,7 +117,9 @@ \ensuremath{% \IfValueTF{#2}{% \ifnum#2=3\relax - \tofrac{\PfCMulPdtSimp}% + \ifboolKV[CalculsFractions]{Negatif}{% + \xintifboolexpr{\fpeval{\PfCMulNumSimp/\PfCMulDenoSimp}<0}{-\tofrac{\fpeval{abs(\PfCMulNumSimp)}/\fpeval{abs(\PfCMulDenoSimp)}}}{\tofrac{\PfCMulPdtSimp}}% + }{\tofrac{\PfCMulPdtSimp}}% \else \ifnum#2=2\relax% \SSimpliTest{\PfCMulNumFin}{\PfCMulDenoFin}\ifthenelse{\boolean{Simplification}}{\frac{\ifnum\PfCMulNumFin<0\relax-\fi\Decomposition[Longue]{\fpeval{abs(\PfCMulNumFin)}}}{\ifnum\PfCMulDenoFin<0\relax-\fi\Decomposition[Longue]{\fpeval{abs(\PfCMulDenoFin)}}}}{\tofrac{\PfCMulPdtSimp}}% @@ -160,7 +165,9 @@ \ensuremath{% \IfValueTF{#2}{% \ifnum#2=4\relax - \tofrac{\PfCDivPdtSimp}% + \ifboolKV[CalculsFractions]{Negatif}{% + \xintifboolexpr{\fpeval{\PfCDivNumSimp/\PfCDivDenoSimp}<0}{-\tofrac{\fpeval{abs(\PfCDivNumSimp)}/\fpeval{abs(\PfCDivDenoSimp)}}}{\tofrac{\PfCDivPdtSimp}}% + }{\tofrac{\PfCDivPdtSimp}}% \else\ifnum#2=3\relax \MulFraction[][\fpeval{#2-1}]{\ListeFractions[1,1]/\ListeFractions[1,2]}{\ListeFractions[2,2]/\ListeFractions[2,1]}% \else |