diff options
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/tablor/tablor.html | 641 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/tablor/tablor.pdf | bin | 156708 -> 205297 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/tablor/tablor.tex | 73 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tablor/tablor.sty | 117 |
4 files changed, 563 insertions, 268 deletions
diff --git a/Master/texmf-dist/doc/latex/tablor/tablor.html b/Master/texmf-dist/doc/latex/tablor/tablor.html index 3a8dd19054a..340911ae97f 100644 --- a/Master/texmf-dist/doc/latex/tablor/tablor.html +++ b/Master/texmf-dist/doc/latex/tablor/tablor.html @@ -84,13 +84,13 @@ <pre> <span class="font-latex-sedate">\NeedsTeXFormat</span>{LaTeX2e}[1995/12/01] -<span class="font-latex-sedate">\ProvidesPackage</span>{<span class="flyspell-incorrect">tablor</span>} - [23/01/2008 v1.4 +<span class="font-latex-sedate">\ProvidesPackage</span>{tablor} + [02/02/2008 v1.5 la machine à créer des tableaux de signes et variations] -<span class="comment-delimiter">%% </span><span class="comment">Crée 5 environnements : +<span class="comment-delimiter">%% </span><span class="comment">Crée 10 environnements : </span><span class="comment-delimiter">%% </span><span class="comment">tableau de signes de 2 facteurs affines </span><span class="comment-delimiter">% </span><span class="font-latex-sedate"><span class="comment">\begin</span></span><span class="comment">{TSa} </span><span class="comment-delimiter">% </span><span class="comment">TSa(-2,3,-1,5,</span><span class="font-latex-sedate"><span class="comment">\tv</span></span><span class="comment">); @@ -116,9 +116,17 @@ </span><span class="comment-delimiter">%</span><span class="comment">TVI([-1,+infinity],[-1],"f","x",x2/sqrt(x+1)-1,1,2,</span><span class="font-latex-sedate"><span class="comment">\tv</span></span><span class="comment">) </span><span class="comment-delimiter">%</span><span class="font-latex-sedate"><span class="comment">\end</span></span><span class="comment">{TVI} </span><span class="comment-delimiter">%%%</span><span class="comment"> +</span><span class="comment-delimiter">%</span><span class="comment"> +</span><span class="comment-delimiter">% </span><span class="comment">et leurs pendants étoilés qui permet l'affichage intermédiaire du +</span><span class="comment-delimiter">% </span><span class="comment">fichier metapost pour le modifier +</span><span class="comment-delimiter">%</span><span class="comment"> +</span><span class="comment-delimiter">%</span><span class="comment"> +</span><span class="comment-delimiter">%</span><span class="comment"> +</span><span class="comment-delimiter">%</span><span class="comment"> </span> + <span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\nettoyer</span></span><span class="function-name">}</span>{ <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{rm XCasmp.mp* XCasmp.log XCasmp?.mp* XCasmp?.log XCasmpTV.mp* XCasmpTV.log *.user XCasmpTVI.mp* XCasmpTVI.log *.giac *.cxx *<span class="flyspell-incorrect">mpx</span>* *~}} @@ -141,19 +149,19 @@ </span> <span class="font-latex-sedate">\makeatletter</span> <span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\executGiacmp</span></span><span class="function-name">}</span>[1]{ -<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="flyspell-incorrect">giac</span> <#1 } } +<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{giac <#1 } } <span class="font-latex-sedate">\makeatother</span> <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTV.cxx} TV(L,F,nom,nomv,f,ftt,nmr):={ -nl:=size(L); +<span class="flyspell-duplicate">nl</span>:=size(L); f:=unapply(f,x); fp:=fonction_derivee(f); Z:=concat(L,F); S:=resoudre(fp(x),x); si size(S)>0 alors pour j de 0 jusque size(S)-1 faire - kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[<span class="flyspell-duplicate">nl</span>-1])); + kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[nl-1])); if(kk==1){Z:=append(Z,simplifier(S[j]))}; fpour fsi; @@ -166,7 +174,7 @@ pour u de 1 jusque nz-2 faire si Z[u]==Z[u+1] alors Z:=augment(Z[0..u-1],Z[u+1..nz-1]);nz:=nz-1; fsi; <span class="flyspell-duplicate">fpour</span>; -<span class="flyspell-duplicate">nz</span>:=size(Z); +nz:=size(Z); l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";lsp:=" "; pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> etex); ";<span class="flyspell-duplicate">fpour</span>; @@ -176,20 +184,21 @@ pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+ lsi:=" newLigneSignes(btex <span class="font-latex-math">$\\hbox{ Signe de }\\atop{\\displaystyle "+nom+"'("+nomv+")}$</span> etex);"+ - if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}<span class="flyspell-duplicate">else</span>{"moins;"}}else{if(member(Z[0],F)==0){ - if(sign(fp(Z[0]+10^(-5)))==1){"plus;"}else{"moins;"}}else{"<span class="flyspell-duplicate">nonDefBarre</span>;"+ + if(Z[0]==-<span class="flyspell-duplicate">infinity</span>){if(<span class="flyspell-duplicate">sign</span>(<span class="flyspell-duplicate">evalf</span>(<span class="flyspell-duplicate">fp</span>(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){ + if(<span class="flyspell-duplicate">fp</span>(Z[0])==0){"<span class="flyspell-duplicate">valBarre</span>(<span class="flyspell-duplicate">btex</span> 0 <span class="flyspell-duplicate">etex</span>);"}<span class="flyspell-duplicate">else</span>{" "}+ + if(sign(fp(Z[0]+10^(-5)))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+ if(sign(fp((Z[0]+10^(-5))))==1){"plus;"}else{"moins;"} }} if(nz>2){ for(r:=1; r<=nz-2;r++){ ksp:=evalf(fp(Z[r]+0.01))>0; - lsp:=lsp+if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+ + lsp:=lsp+if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{"<span class="flyspell-duplicate">nonDefBarre</span>;"}+ if(ksp==1){"plus;"}else{"moins;"} }; } -<span class="flyspell-duplicate">lsf</span>:=if(member(Z[nz-1],F)==0){""}else{"nomDefBarre; +lsf:=if(member(Z[nz-1],F)==0){""}else{"nomDefBarre; "} -lm0:=limite(f(x),x=Z[0],1)==-infinity; +lm0:=limite(f(x),x=Z[0],1)==-<span class="flyspell-duplicate">infinity</span>; li:=" -newLigneVariations(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Variations de }\\atop{\\displaystyle \\Mathbold{"+nom+"}}$</span> <span class="flyspell-duplicate">etex</span>);"+ +<span class="flyspell-duplicate">newLigneVariations</span>(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Variations de }\\atop{\\displaystyle \\Mathbold{"+nom+"}}$</span> etex);"+ if(member(Z[0],F)==0){"valPos(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$</span> etex,"} else{"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$</span> etex,"}+ if(k0==1){"1"}<span class="flyspell-duplicate">else</span>{"0"}+ @@ -197,21 +206,21 @@ newLigneVariations(btex <span class="font-latex-math">$\\hbox{\</span><span clas if(nz>2){ for(r:=1; r<=nz-2;r++){ krm:=evalf(limite(f(x),x=Z[r-1],1))< evalf(limite(f(x),x=Z[r],-1)); krp:=evalf(limite(f(x),x=Z[r],1))> evalf(limite(f(x),x=Z[r+1],-1)) ; - lmrm:=limite(f(x),x=Z[r],-1)==-infinity;lmrp:=limite(f(x),x=Z[r],1)==-<span class="flyspell-duplicate">infinity</span>; + lmrm:=limite(f(x),x=Z[r],-1)==-infinity;lmrp:=limite(f(x),x=Z[r],1)==-infinity; lp:=lp+if(member(Z[r],F)){ - "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],-1)))}+"$</span> etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))}+"$</span> etex,"+if(krp==1){"1);"}else{"0);"}} + "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],-1)))}+"$</span> etex,"+if(krm==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))}+"$</span> etex,"+if(krp==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}} else{"valPos(btex <span class="font-latex-math">$"+latex(simplifier(f(Z[r])))+"$</span> etex,"+if(sign(evalf(fp(Z[r]-0.01)))==sign(fp(Z[r]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0); "}}} }; } -lnz:=limite(f(x),x=Z[nz-1],-1)==-<span class="flyspell-duplicate">infinity</span>; - lf:=if(member(Z[nz-1],F)==0){"valPos(btex <span class="font-latex-math">$"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"}else{"<span class="flyspell-duplicate">nonDefBarre</span>;limGauche(btex <span class="font-latex-math">$"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"}+ +<span class="flyspell-duplicate">lnz</span>:=limite(f(x),x=Z[nz-1],-1)==-<span class="flyspell-duplicate">infinity</span>; + lf:=if(member(Z[nz-1],F)==0){"valPos(btex <span class="font-latex-math">$"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"}else{"nonDefBarre;limGauche(btex <span class="font-latex-math">$"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"}+ if(kz==1){"1);"}<span class="flyspell-duplicate">else</span>{"0); "}; -intro:="input <span class="flyspell-duplicate">tableauVariation</span>; +<span class="flyspell-duplicate">intro</span>:="input tableauVariation; verbatimtex <span class="comment-delimiter">%</span><span class="comment">&latex </span> <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">documentclass</span><span class="function-name">{article}</span> @@ -224,112 +233,113 @@ intro:="input <span class="flyspell-duplicate">tableauVariation</span>; " -<span class="flyspell-duplicate">MetaL</span>:=if(ftt==2){if(nz>2){intro+"beginTableau("+nmr+")"+ +MetaL:=if(ftt==2){if(nz>2){intro+"beginTableau("+nmr+")"+ l0+lsi+lsp+lsf+" endTableau; end";}else{ -intro+"beginTableau("+nmr+")"+ +<span class="flyspell-duplicate">intro</span>+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ l0+ -<span class="flyspell-duplicate">lsi</span>+lsf+" +lsi+lsf+" endTableau; -end"; +<span class="flyspell-duplicate">end</span>"; } -}<span class="flyspell-duplicate">else</span>{ if(ftt==0){if(nz>2){intro+"beginTableau("+nmr+")"+ +}else{ if(ftt==0){if(nz>2){intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ l0+ li+ lp+ -<span class="flyspell-duplicate">lf</span> +lf +" <span class="flyspell-duplicate">endTableau</span>; -end";}else{intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +<span class="flyspell-duplicate">end</span>";}else{intro+"beginTableau("+nmr+")"+ l0+ li+ -<span class="flyspell-duplicate">lf</span> +lf +" <span class="flyspell-duplicate">endTableau</span>; -end";}}else{ +<span class="flyspell-duplicate">end</span>";}}else{ if(nz>2){intro+"beginTableau("+nmr+")"+ l0+ -<span class="flyspell-duplicate">lsi</span>+lsp+lsf+ +lsi+lsp+lsf+ li+ -lp+ +<span class="flyspell-duplicate">lp</span>+ <span class="flyspell-duplicate">lf</span> +" endTableau; -<span class="flyspell-duplicate">end</span>";}else{intro+"beginTableau("+nmr+")"+ +end";}else{intro+"beginTableau("+nmr+")"+ l0+ -lsi+lsf+ +<span class="flyspell-duplicate">lsi</span>+lsf+ li+ -<span class="flyspell-duplicate">lf</span> +lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; <span class="flyspell-duplicate">end</span>";} }} -<span class="flyspell-duplicate">return</span>(<span class="flyspell-duplicate">MetaL</span>); +return(<span class="flyspell-duplicate">MetaL</span>); }:; <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> -<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTVI<span class="flyspell-duplicate">.cxx</span>} +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTVI.cxx} <span class="flyspell-duplicate">TVI</span>(L,F,nom,nomv,f,ftt,ao,nmr):={ -nl:=size(L); +<span class="flyspell-duplicate">nl</span>:=size(L); f:=unapply(f,x); -<span class="flyspell-duplicate">fp</span>:=fonction_derivee(f); +fp:=fonction_derivee(f); Z:=concat(L,F); S:=resoudre(fp(x),x); si size(S)>0 alors pour j de 0 jusque size(S)-1 faire - kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[<span class="flyspell-duplicate">nl</span>-1])); + kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[nl-1])); if(kk==1){Z:=append(Z,simplifier(S[j]))}; - <span class="flyspell-duplicate">fpour</span> + fpour fsi; Z:=sort(Z); -nz:=size(Z); - si Z[0]==Z[1] alors Z:=augment(Z[0],Z[2..nz-1]);nz:=<span class="flyspell-duplicate">nz</span>-1; +<span class="flyspell-duplicate">nz</span>:=size(Z); + si Z[0]==Z[1] alors Z:=augment(Z[0],Z[2..nz-1]);nz:=nz-1; fsi; pour u de 1 jusque nz-2 faire si Z[u]==Z[u+1] alors Z:=augment(Z[0..u-1],Z[u+1..nz-1]);nz:=<span class="flyspell-duplicate">nz</span>-1; fsi; -fpour; -<span class="flyspell-duplicate">nz</span>:=size(Z); +<span class="flyspell-duplicate">fpour</span>; +nz:=size(Z); l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";<span class="flyspell-duplicate">lsp</span>:=" "; LI:=limite(f(x),x,Z[0],1); -<span class="flyspell-duplicate">LF</span>:=limite(f(x),x,Z[nz-1],-1); +LF:=limite(f(x),x,Z[nz-1],-1); <span class="flyspell-duplicate">LP</span>:=NULL; if(nz>2){ for(r:=1; r<=nz-2;r++){LP:=LP,if(member(Z[r],F)){limite(f(x),x,Z[r],-1),limite(f(x),x,Z[r],1)}else{f(Z[r])}}}; if(nz>2){ LL:=[LI,LP,LF]}else{LL:=[LI,<span class="flyspell-duplicate">LF</span>]}; -NL:=size(LL); +<span class="flyspell-duplicate">NL</span>:=size(LL); A:=NULL;aa:=1;<span class="flyspell-duplicate">kk</span>:=0; -if(NL==nz){for(k:=0;k<nz-1;k++){TestS:=(sign(evalf(LL[k]-ao))==sign(evalf(LL[k+1]-ao))) or (sign(evalf(<span class="flyspell-duplicate">LL</span>[k]-ao))==0.0)or (sign(evalf(LL[k+1]-ao))==0.0); -if(TestS==0){A:=A,aa;l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[k])+"$</span> etex);"+"val(btex <span class="font-latex-math">$\\alpha_</span><span class="font-latex-subscript"><span class="font-latex-math">"</span></span><span class="font-latex-math">+aa+"$</span> etex);";aa:=aa+1;}else{l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[k])+"$</span> etex);"}} +if(NL==nz){for(k:=0;k<nz-1;k++){TestS:=(sign(evalf(LL[k]-ao))==sign(evalf(LL[k+1]-ao))) or (sign(evalf(LL[k]-ao))==0.0)or (sign(evalf(LL[k+1]-ao))==0.0); +if(TestS==0){A:=A,aa;l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[k])+"$</span> etex);"+"val(btex <span class="font-latex-math">$\\alpha_</span><span class="font-latex-subscript"><span class="font-latex-math">"</span></span><span class="font-latex-math">+aa+"$</span> etex);";aa:=<span class="flyspell-duplicate">aa</span>+1;}else{l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[k])+"$</span> etex);"}} l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[nz-1])+"$</span> <span class="flyspell-duplicate">etex</span>);"}; -if(NL>nz){for(k:=0;k<NL-1;k++){TestS:=(sign(evalf(LL[k]-ao))==sign(evalf(LL[k+1]-ao))) or (sign(evalf(<span class="flyspell-duplicate">LL</span>[k]-ao))==0.0)or (sign(evalf(LL[k+1]-ao))==0.0); +if(NL>nz){for(k:=0;k<NL-1;k++){TestS:=(sign(evalf(LL[k]-ao))==sign(evalf(LL[k+1]-ao))) or (sign(evalf(LL[k]-ao))==0.0)or (sign(evalf(LL[k+1]-ao))==0.0); <span class="flyspell-duplicate">TestL</span>:=(abs(LL[k])==abs(LL[k+1])); if(TestS==0){ if( TestL==1 ){l0:=l0}else{ -A:=A,aa;l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[kk])+"$</span> etex);"+"val(btex <span class="font-latex-math">$\\alpha_</span><span class="font-latex-subscript"><span class="font-latex-math">"</span></span><span class="font-latex-math">+aa+"$</span> etex);";aa:=aa+1;kk:=kk+1}}else{l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[kk])+"$</span> etex);";kk:=<span class="flyspell-duplicate">kk</span>+1}} +A:=A,aa;l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[kk])+"$</span> etex);"+"val(btex <span class="font-latex-math">$\\alpha_</span><span class="font-latex-subscript"><span class="font-latex-math">"</span></span><span class="font-latex-math">+aa+"$</span> etex);";aa:=aa+1;kk:=kk+1}}else{l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[kk])+"$</span> etex);";kk:=kk+1}} l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[nz-1])+"$</span> <span class="flyspell-duplicate">etex</span>); "}; -<span class="flyspell-duplicate">TestS</span>:=(sign(evalf(LL[0]-ao))==sign(evalf(LL[1]-ao))) or (sign(evalf(LL[0]-ao))==0.0) or (sign(evalf(<span class="flyspell-duplicate">LL</span>[1]-<span class="flyspell-duplicate">ao</span>))==0.0); +TestS:=(sign(evalf(LL[0]-ao))==sign(evalf(LL[1]-ao))) or (sign(evalf(LL[0]-ao))==0.0) or (sign(evalf(LL[1]-<span class="flyspell-duplicate">ao</span>))==0.0); k0:= evalf(limite(f(x),x=Z[0],1))> evalf(limite(f(x),x=Z[1],-1)); kz:=evalf(limite(f(x),x=Z[nz-1],-1))> evalf(limite(f(x),x=Z[<span class="flyspell-duplicate">nz</span>-2],1)); -<span class="flyspell-duplicate">lsi</span>:=" -<span class="flyspell-duplicate">newLigneSignes</span>(btex <span class="font-latex-math">$\\hbox{ Signe de }\\atop{\\displaystyle "+nom+"'("+nomv+")}$</span> <span class="flyspell-duplicate">etex</span>);"+ - if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}<span class="flyspell-duplicate">else</span>{"moins;"}}else{if(member(Z[0],F)==0){ +lsi:=" +<span class="flyspell-duplicate">newLigneSignes</span>(btex <span class="font-latex-math">$\\hbox{ Signe de }\\atop{\\displaystyle "+nom+"'("+nomv+")}$</span> etex);"+ + if(Z[0]==-<span class="flyspell-duplicate">infinity</span>){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){ + if(fp(Z[0])==0){"valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" "}+ if(sign(fp((Z[0]+10^(-10))))==1){"plus;"}else{"moins;"}}else{"<span class="flyspell-duplicate">nonDefBarre</span>;"+ if(sign(fp(10^(-10)+Z[0]))==1){"plus;"}else{"moins;"} }}+if(TestS==0){"valBarre(btex<span class="font-latex-math">$ $</span> etex);"+ if(sign(<span class="flyspell-duplicate">fp</span>(10^(-10)+Z[0]))==1){"plus;"}else{"moins;"}}<span class="flyspell-duplicate">else</span>{" "}; @@ -337,16 +347,16 @@ l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[nz-1])+"$</span> <span -if(nz>2){rr:=1; if(nz==NL){for(r:=1; r<=NL-2;r++){ TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-<span class="flyspell-duplicate">ao</span>))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-<span class="flyspell-duplicate">ao</span>))==0.0); +if(nz>2){rr:=1; if(nz==NL){for(r:=1; r<=NL-2;r++){ TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-<span class="flyspell-duplicate">ao</span>))==0.0); ksp:=evalf(fp(Z[r]+0.01))>0; TestL:=(abs(LL[r])==abs(LL[r+1])); - lsp:=lsp+if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}else{"<span class="flyspell-duplicate">nonDefBarre</span>;"}+ - if(ksp==1){"plus;"}else{"moins;"}+if(TestS==0){"valBarre(btex <span class="font-latex-math">$ $</span> <span class="flyspell-duplicate">etex</span>);"}else{" "}+if(TestS==0){if(ksp==1){"plus;"}else{"moins;"}}else{" "}; + lsp:=lsp+if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+ + if(ksp==1){"plus;"}else{"moins;"}+if(TestS==0){"valBarre(btex <span class="font-latex-math">$ $</span> etex);"}else{" "}+if(TestS==0){if(ksp==1){"plus;"}else{"moins;"}}else{" "}; }} -<span class="flyspell-duplicate">else</span>{for(r:=1; r<=NL-2;r++){kspp:=evalf(fp(Z[rr]+0.01))>0;TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-ao))==0.0); +<span class="flyspell-duplicate">else</span>{for(r:=1; r<=NL-2;r++){kspp:=evalf(fp(Z[rr]+0.01))>0;TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-<span class="flyspell-duplicate">ao</span>))==0.0); TestL:=(abs(LL[r])==abs(LL[r+1])); if(TestS==0){if( TestL==1 ){lsp:=lsp}else{lsp:=lsp+if(member(Z[rr],F)==0){"valBarre(btex 0 etex);"}else{"<span class="flyspell-duplicate">nonDefBarre</span>;"}+ - if(kspp==1){"plus;"}else{"moins;"}+"valBarre(btex <span class="font-latex-math">$ $</span> etex);"+if(kspp==1){"plus;"}else{"moins;"};rr:=<span class="flyspell-duplicate">rr</span>+1;} + if(kspp==1){"plus;"}else{"moins;"}+"valBarre(btex <span class="font-latex-math">$ $</span> etex);"+if(kspp==1){"plus;"}else{"moins;"};rr:=rr+1;} } else{lsp:=lsp+if(member(Z[rr],F)==0){"valBarre(btex 0 etex);"}else{"<span class="flyspell-duplicate">nonDefBarre</span>;"}+ if(kspp==1){"plus;"}else{"moins;"};rr:=<span class="flyspell-duplicate">rr</span>+1;} }} @@ -357,57 +367,57 @@ if(nz>2){rr:=1; if(nz==NL){for(r:=1; r<=NL-2;r++){ TestS:=(sign(evalf(LL[r <span class="flyspell-duplicate">lsf</span>:=if(member(Z[nz-1],F)==0){""}else{"nomDefBarre;"} lm0:=limite(f(x),x=Z[0],1)==-infinity; -<span class="flyspell-duplicate">TestS</span>:=(sign(evalf(LL[0]-ao))==sign(evalf(LL[1]-ao))) or (sign(evalf(LL[0]-ao))==0.0) or (sign(evalf(<span class="flyspell-duplicate">LL</span>[1]-<span class="flyspell-duplicate">ao</span>))==0.0); +TestS:=(sign(evalf(LL[0]-ao))==sign(evalf(LL[1]-ao))) or (sign(evalf(LL[0]-ao))==0.0) or (sign(evalf(LL[1]-<span class="flyspell-duplicate">ao</span>))==0.0); li:=" <span class="flyspell-duplicate">newLigneVariations</span>(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Variations de }\\atop{\\displaystyle \\Mathbold{"+nom+"}}$</span> etex); -"+ if(member(Z[0],F)==0){"valPos(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$</span> <span class="flyspell-duplicate">etex</span>,"} - else{"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$</span> <span class="flyspell-duplicate">etex</span>,"}+ +"+ if(member(Z[0],F)==0){"valPos(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$</span> etex,"} + else{"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$</span> etex,"}+ if(k0==1){"1);"}else{"0);"}+if(TestS==0){"valPos(btex <span class="font-latex-math">$ "+ao+" $</span> etex,0.5);"}<span class="flyspell-duplicate">else</span>{" "}; - if(nz>2){if(nz==NL){for(r:=1; r<=nz-2;r++){TestS:=(sign(evalf(LL[r]-ao))==sign(<span class="flyspell-duplicate">evalf</span>(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-ao))==0.0); + if(nz>2){if(nz==NL){for(r:=1; r<=nz-2;r++){TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-ao))==0.0); krm:=evalf(limite(f(x),x=Z[r-1],1))< evalf(limite(f(x),x=Z[r],-1)); krp:=evalf(limite(f(x),x=Z[r],1))> evalf(limite(f(x),x=Z[r+1],-1)) ; - lmrm:=limite(f(x),x=Z[r],-1)==-infinity;lmrp:=limite(f(x),x=Z[r],1)==-<span class="flyspell-duplicate">infinity</span>; + lmrm:=limite(f(x),x=Z[r],-1)==-infinity;lmrp:=limite(f(x),x=Z[r],1)==-infinity; lp:=lp+if(member(Z[r],F)) { - "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],-1)))}+"$</span> etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))}+"$</span> etex,"+if(krp==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}} + "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],-1)))}+"$</span> etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))}+"$</span> etex,"+if(krp==1){"1);"}else{"0);"}} else{"valPos(btex <span class="font-latex-math">$"+latex(simplifier(f(Z[r])))+"$</span> - etex,"+if(sign(evalf(fp(Z[r]-0.01)))==sign(fp(Z[r]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);"}}}+if(TestS==0){"<span class="flyspell-duplicate">valPos</span>(<span class="flyspell-duplicate">btex</span> + etex,"+if(sign(evalf(fp(Z[r]-0.01)))==sign(fp(Z[r]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);"}}}+if(TestS==0){"<span class="flyspell-duplicate">valPos</span>(btex <span class="font-latex-math">$ "+ao+" $</span> <span class="flyspell-duplicate">etex</span>,0.5);" }else{" "}; };//for -}else{rr:=1;for(r:=1; r<=NL-2;r++){TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(<span class="flyspell-duplicate">evalf</span>(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-<span class="flyspell-duplicate">ao</span>))==0.0); +}else{rr:=1;for(r:=1; r<=NL-2;r++){TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-ao))==0.0); krm:=evalf(limite(f(x),x=Z[rr-1],1))< evalf(limite(f(x),x=Z[<span class="flyspell-duplicate">rr</span>],-1)); - krp:=evalf(limite(f(x),x=Z[rr],1))> evalf(limite(f(x),x=Z[<span class="flyspell-duplicate">rr</span>+1],-1)) ; - lmrm:=limite(f(x),x=Z[rr],-1)==-infinity;lmrp:=limite(f(x),x=Z[rr],1)==-<span class="flyspell-duplicate">infinity</span>; TestL:=(abs(LL[r])==abs(LL[r+1])); + krp:=evalf(limite(f(x),x=Z[rr],1))> evalf(limite(f(x),x=Z[rr+1],-1)) ; + lmrm:=limite(f(x),x=Z[rr],-1)==-infinity;lmrp:=limite(f(x),x=Z[rr],1)==-infinity; TestL:=(abs(LL[r])==abs(LL[r+1])); if(TestS==0){if( TestL==1 ){lp:=lp}else{ lp:=lp+if(member(Z[rr],F)) { - "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],-1)))}+"$</span> etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],1)))}+"$</span> etex,"+if(krp==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}} + "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],-1)))}+"$</span> etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],1)))}+"$</span> etex,"+if(krp==1){"1);"}else{"0);"}} else{"valPos(btex <span class="font-latex-math">$"+latex(simplifier(f(Z[rr])))+"$</span> - etex,"+if(sign(evalf(fp(Z[rr]-0.01)))==sign(fp(Z[rr]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);"}}}+"valPos(<span class="flyspell-duplicate">btex</span> + etex,"+if(sign(evalf(fp(Z[rr]-0.01)))==sign(fp(Z[rr]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);"}}}+"valPos(btex <span class="font-latex-math">$ "+ao+" $</span> <span class="flyspell-duplicate">etex</span>,0.5); ";rr:=rr+1; -}// else <span class="flyspell-incorrect">testL</span>==1 +}// else testL==1 }//testS==0 -<span class="flyspell-duplicate">else</span>{lp:=lp+if(member(Z[rr],F)){ - "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],-1)))}+"$</span> etex,"+if(krm==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],1)))}+"$</span> etex,"+if(krp==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}} +else{lp:=lp+if(member(Z[rr],F)){ + "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],-1)))}+"$</span> etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],1)))}+"$</span> etex,"+if(krp==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}} else{"valPos(btex <span class="font-latex-math">$"+latex(simplifier(f(Z[rr])))+"$</span> - etex,"+if(sign(evalf(fp(Z[rr]-0.01)))==sign(fp(Z[<span class="flyspell-duplicate">rr</span>]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0); - "}}};rr:=<span class="flyspell-duplicate">rr</span>+1; + etex,"+if(sign(evalf(fp(Z[rr]-0.01)))==sign(fp(Z[rr]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0); + "}}};rr:=rr+1; }//else <span class="flyspell-duplicate">testS</span>==0 -}//for nz<<span class="flyspell-duplicate">NL</span> +}//for nz<NL }// else nz<<span class="flyspell-duplicate">NL</span> -//if nz=<span class="flyspell-duplicate">NL</span> -};//if <span class="flyspell-duplicate">nz</span>>2 +//if nz=NL +};//if nz>2 -<span class="flyspell-duplicate">lnz</span>:=limite(f(x),x=Z[nz-1],-1)==-<span class="flyspell-duplicate">infinity</span>; - lf:=if(member(Z[nz-1],F)==0){"valPos(btex <span class="font-latex-math">$"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"}else{"<span class="flyspell-duplicate">nonDefBarre</span>;limGauche(btex <span class="font-latex-math">$"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"}+ +<span class="flyspell-duplicate">lnz</span>:=limite(f(x),x=Z[nz-1],-1)==-infinity; + lf:=if(member(Z[nz-1],F)==0){"valPos(btex <span class="font-latex-math">$"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"}else{"<span class="flyspell-duplicate">nonDefBarre</span>;limGauche(btex <span class="font-latex-math">$"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$</span> <span class="flyspell-duplicate">etex</span>,"}+ if(kz==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}; -<span class="flyspell-duplicate">intro</span>:=" +intro:=" input tableauVariation; verbatimtex <span class="comment-delimiter">%</span><span class="comment">&latex @@ -421,21 +431,21 @@ verbatimtex "; -MetaL:= if(<span class="flyspell-duplicate">ftt</span>==2){if(nz>2){intro+"beginTableau("+nmr+")"+ - l0+lsi+lsp+<span class="flyspell-duplicate">lsf</span>+" -<span class="flyspell-duplicate">endTableau</span>; -<span class="flyspell-duplicate">end</span>";}<span class="flyspell-duplicate">else</span>{ -<span class="flyspell-duplicate">intro</span>+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +MetaL:= if(ftt==2){if(nz>2){intro+"beginTableau("+nmr+")"+ + l0+lsi+lsp+lsf+" +endTableau; +<span class="flyspell-duplicate">end</span>";}else{ +intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ l0+ -lsi+<span class="flyspell-duplicate">lsf</span>+" +lsi+lsf+" endTableau; <span class="flyspell-duplicate">end</span>"; } -}<span class="flyspell-duplicate">else</span>{ +}else{ if(ftt==0){if(nz>2){intro+"beginTableau("+nmr+")"+ l0+ li+ -<span class="flyspell-duplicate">lp</span>+ +lp+ <span class="flyspell-duplicate">lf</span> +" <span class="flyspell-duplicate">endTableau</span>; @@ -446,19 +456,19 @@ li+ +" <span class="flyspell-duplicate">endTableau</span>; end";}}else{ -if(nz>2){intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +if(nz>2){intro+"beginTableau("+nmr+")"+ l0+ -<span class="flyspell-duplicate">lsi</span>+lsp+<span class="flyspell-duplicate">lsf</span>+ +<span class="flyspell-duplicate">lsi</span>+lsp+lsf+ li+ <span class="flyspell-duplicate">lp</span>+ lf +" -<span class="flyspell-duplicate">endTableau</span>; -<span class="flyspell-duplicate">end</span>";}else{intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +endTableau; +<span class="flyspell-duplicate">end</span>";}else{intro+"beginTableau("+nmr+")"+ l0+ -<span class="flyspell-duplicate">lsi</span>+<span class="flyspell-duplicate">lsf</span>+ +<span class="flyspell-duplicate">lsi</span>+lsf+ li+ -<span class="flyspell-duplicate">lf</span> +lf +" <span class="flyspell-duplicate">endTableau</span>; <span class="flyspell-duplicate">end</span>";} @@ -480,10 +490,10 @@ return(<span class="flyspell-duplicate">MetaL</span>); -<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTabSignL<span class="flyspell-duplicate">.cxx</span>} +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTabSignL.cxx} -<span class="flyspell-duplicate">TS</span>(L,D,nmr):={ +TS(L,D,nmr):={ L:=apply(f->unapply(f,x),L) n:=size(L); Z:=NULL; @@ -494,31 +504,31 @@ pour k de 0 jusque n-1 faire S:=resoudre(L[k](x),x); si size(S)>0 alors pour j de 0 jusque size(S)-1 faire if(S[j]>mini and S[j]<maxi){Z:=Z,simplifier(S[j]);} - <span class="flyspell-duplicate">fpour</span>; + fpour; fsi; <span class="flyspell-duplicate">fpour</span>; Z:=sort(Z); <span class="flyspell-duplicate">nz</span>:=size(Z); if(nz>2){pour u de 1 jusque nz-2 faire - si Z[u]==Z[u+1] alors Z:=Z[0..u-1],Z[u+1..nz-1];nz:=<span class="flyspell-duplicate">nz</span>-1; + si Z[u]==Z[u+1] alors Z:=Z[0..u-1],Z[u+1..nz-1];nz:=nz-1; fsi; <span class="flyspell-duplicate">fpour</span>;}; -<span class="flyspell-duplicate">nz</span>:=size(Z); +nz:=size(Z); -if(<span class="flyspell-duplicate">nz</span>==0){li:="";l0:="val(btex <span class="font-latex-math">$"+latex(D[0])+"$</span> etex);val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> <span class="flyspell-duplicate">etex</span>);"; +if(nz==0){li:="";l0:="val(btex <span class="font-latex-math">$"+latex(D[0])+"$</span> etex);val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> etex);"; for(p:=0;p<=n-1;p++){li:=li+" -<span class="flyspell-duplicate">newLigneSignes</span>(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(L[p](x))+"}}$</span> etex);"+ +newLigneSignes(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(L[p](x))+"}}$</span> etex);"+ if(mini!=-infinity and L[p](mini)==0){" - valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" + valBarre(btex 0 etex);"}else{" "}+ if(L[p]((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}+if(maxi!=+infinity and L[p](maxi)==0){" - valBarre(btex 0 <span class="flyspell-duplicate">etex</span>);"}<span class="flyspell-duplicate">else</span>{" + valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" "} } lf:=if(product(L[s]((mini+maxi)*.5),s,0,n-1)>0){"plus;"}else{"moins;"}; -MetaL:=" input <span class="flyspell-duplicate">tableauVariation</span>; +MetaL:=" input tableauVariation; <span class="flyspell-duplicate">verbatimtex</span> <span class="comment-delimiter">%</span><span class="comment">&latex </span> <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">documentclass</span><span class="function-name">{article}</span> @@ -526,20 +536,20 @@ MetaL:=" input <span class="flyspell-duplicate">tableauVariation</span>; <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">usepackage</span><span class="function-name">{amsmath}</span> <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">newcommand</span><span class="function-name">{</span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">Mathbold}</span>[1]{<span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">mbox</span><span class="function-name">{</span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">boldmath</span><span class="function-name"><span class="font-latex-math">$#1$</span></span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">unboldmath}</span>} <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">begin</span><span class="function-name">{document}</span> - <span class="flyspell-duplicate">etex</span> - <span class="flyspell-duplicate">beginTableau</span>("+nmr+") -<span class="flyspell-duplicate">newLigneVariables</span>(btex <span class="font-latex-math">$\\Mathbold{x}$</span> <span class="flyspell-duplicate">etex</span>); + etex + beginTableau("+nmr+") +newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> etex); "+l0+li+ " newLigneSignes(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe du }\\atop{{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> produit}}$</span> <span class="flyspell-duplicate">etex</span>);"+ if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){" - valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" - "}+ <span class="flyspell-duplicate">lf</span>+ + valBarre(btex 0 etex);"}else{" + "}+ lf+ if(maxi!=+infinity and product(L[s](maxi),s,0,n-1)==0){" - valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" + valBarre(btex 0 etex);"}else{" "}+" <span class="flyspell-duplicate">endTableau</span>; -<span class="flyspell-duplicate">end</span>" +end" ; }<span class="flyspell-duplicate">else</span>{ @@ -547,17 +557,17 @@ MetaL:=" input <span class="flyspell-duplicate">tableauVariation</span>; -l0:="val(btex <span class="font-latex-math">$"+latex(D[0])+"$</span> etex);";li:=" ";<span class="flyspell-duplicate">lr</span>:=" "; -pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> <span class="flyspell-duplicate">etex</span>); +l0:="val(btex <span class="font-latex-math">$"+latex(D[0])+"$</span> etex);";li:=" ";lr:=" "; +pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> etex); ";fpour; -l0:=l0+"val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> <span class="flyspell-duplicate">etex</span>);"; +l0:=l0+"val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> etex);"; for(p:=0;p<=n-1;p++){lp:=""; li:=li+" -<span class="flyspell-duplicate">newLigneSignes</span>(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(L[p](x))+"}}$</span> <span class="flyspell-duplicate">etex</span>);"+ +newLigneSignes(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(L[p](x))+"}}$</span> <span class="flyspell-duplicate">etex</span>);"+ if(mini!=-infinity and L[p](mini)==0){" - valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" + valBarre(btex 0 etex);"}else{" "}+ if(L[p](Z[0]-0.01)>0){"plus;"}else{"moins;"}; @@ -569,45 +579,45 @@ for(p:=0;p<=n-1;p++){lp:=""; li:=li+lp+ if(simplifier(L[p](Z[nz-1]))==0){"valBarre(btex 0 etex);"}else{"barre;"}+ if(L[p](Z[nz-1]+1.0)>0){"plus;"}else{"moins; - "}+if(maxi!=+infinity and L[p](<span class="flyspell-duplicate">maxi</span>)==0){" + "}+if(maxi!=+infinity and L[p](maxi)==0){" valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" "} }; pour t de 0 jusque nz-2 faire - lr:=lr+if(product(L[s]((Z[t]+Z[t+1])*.5),s,0,n-1)>0){"plus;"}else{"moins;"}+"valBarre(btex 0 <span class="flyspell-duplicate">etex</span>);" + lr:=lr+if(product(L[s]((Z[t]+Z[t+1])*.5),s,0,n-1)>0){"plus;"}else{"moins;"}+"valBarre(btex 0 etex);" fpour -<span class="flyspell-duplicate">MetaL</span>:=" input <span class="flyspell-duplicate">tableauVariation</span>; - <span class="flyspell-duplicate">verbatimtex</span> +MetaL:=" input <span class="flyspell-duplicate">tableauVariation</span>; + verbatimtex <span class="comment-delimiter">%</span><span class="comment">&latex </span> <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">documentclass</span><span class="function-name">{article}</span> <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">usepackage</span><span class="variable-name">[upright]</span><span class="function-name">{fourier}</span> <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">usepackage</span><span class="function-name">{amsmath}</span> <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">newcommand</span><span class="function-name">{</span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">Mathbold}</span>[1]{<span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">mbox</span><span class="function-name">{</span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">boldmath</span><span class="function-name"><span class="font-latex-math">$#1$</span></span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">unboldmath}</span>} <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">begin</span><span class="function-name">{document}</span> - <span class="flyspell-duplicate">etex</span> + etex beginTableau("+nmr+") -<span class="flyspell-duplicate">newLigneVariables</span>(btex <span class="font-latex-math">$\\Mathbold{x}$</span> etex); +newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> etex); "+l0+ li + " - newLigneSignes(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe du }\\atop{{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> produit}}$</span> <span class="flyspell-duplicate">etex</span>);"+ + newLigneSignes(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe du }\\atop{{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> produit}}$</span> etex);"+ if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){" valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" "}+ - if(product(L[s](Z[0]-0.01),s,0,n-1)>0){"plus;"}else{"moins;"}+"valBarre(btex 0 <span class="flyspell-duplicate">etex</span>);"+ - <span class="flyspell-duplicate">lr</span>+ + if(product(L[s](Z[0]-0.01),s,0,n-1)>0){"plus;"}else{"moins;"}+"valBarre(btex 0 etex);"+ + lr+ if(product(L[s](Z[nz-1]+0.01),s,0,n-1)>0){"plus;"}else{"moins;"}+ if(maxi!=+infinity and product(L[s](maxi),s,0,n-1)==0){" - valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" + valBarre(btex 0 etex);"}else{" "}+" <span class="flyspell-duplicate">endTableau</span>; -<span class="flyspell-duplicate">end</span>" +end" ;} -<span class="flyspell-duplicate">return</span>(<span class="flyspell-duplicate">MetaL</span>); +return(<span class="flyspell-duplicate">MetaL</span>); }:; <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> @@ -620,15 +630,15 @@ pour t de 0 jusque nz-2 faire -<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTabSignQ<span class="flyspell-duplicate">.cxx</span>} -<span class="flyspell-duplicate">TSq</span>(nomf,L,Fo,D,nmr):={ +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTabSignQ.cxx} +TSq(nomf,L,Fo,D,nmr):={ L:=apply(f->unapply(f,x),L); -<span class="flyspell-duplicate">Fo</span>:=<span class="flyspell-duplicate">apply</span>(f->unapply(f,x),Fo); +Fo:=apply(f->unapply(f,x),Fo); L:=concat(L,Fo); n:=size(L); Z:=NULL; -m:=size(<span class="flyspell-duplicate">Fo</span>); -F:=<span class="flyspell-duplicate">NULL</span>;<span class="flyspell-duplicate">FF</span>:=NULL; +m:=size(Fo); +F:=NULL;FF:=NULL; mini:=D[0]; maxi:=D[1]; @@ -636,7 +646,7 @@ pour k de 0 jusque n-1 faire S:=resoudre(L[k](x),x); si size(S)>0 alors pour j de 0 jusque size(S)-1 faire if(S[j]>mini and S[j]<maxi){Z:=Z,simplifier(S[j]);} - <span class="flyspell-duplicate">fpour</span>; + fpour; fsi; <span class="flyspell-duplicate">fpour</span>; @@ -646,14 +656,14 @@ pour k de 0 jusque m-1 faire si size(SF)>0 alors pour j de 0 jusque size(SF)-1 faire FF:=FF,simplifier(SF[j]); if(SF[j]>mini and SF[j]<maxi){F:=F,simplifier(SF[j]);} - <span class="flyspell-duplicate">fpour</span>; + fpour; fsi; -<span class="flyspell-duplicate">fpour</span>; +fpour; Z:=sort(Z); // on classe les zéros dans l'ordre croissant -<span class="flyspell-duplicate">nz</span>:=size(Z); +nz:=size(Z); if(nz>2){pour u de 1 jusque nz-2 faire si Z[u]==Z[u+1] alors Z:=Z[0..u-1],Z[u+1..nz-1];nz:=nz-1; // pour les zéros en double fsi; @@ -661,64 +671,64 @@ if(nz>2){pour u de 1 jusque nz-2 faire Z:=sort(Z); -<span class="flyspell-duplicate">nz</span>:=size(Z); +nz:=size(Z); if(nz>2){pour u de 1 jusque nz-2 faire si Z[u]==Z[u+1] alors Z:=Z[0..u-1],Z[u+1..nz-1];nz:=<span class="flyspell-duplicate">nz</span>-1; fsi; -<span class="flyspell-duplicate">fpour</span>;}; -<span class="flyspell-duplicate">nz</span>:=size(Z); +fpour;}; +nz:=size(Z); -if(nz==0){li:="";l0:="val(btex <span class="font-latex-math">$"+latex(D[0])+"$</span> etex);val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> <span class="flyspell-duplicate">etex</span>);"; +if(nz==0){li:="";l0:="val(btex <span class="font-latex-math">$"+latex(D[0])+"$</span> etex);val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> etex);"; for(p:=0;p<=n-1;p++){li:=li+" <span class="flyspell-duplicate">newLigneSignes</span>(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(L[p](x))+"}}$</span> etex);"+ if(mini!=-infinity and L[p](mini)==0){" - valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" + valBarre(btex 0 etex);"}else{" "}+ -if(L[p]((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}+if(maxi!=+infinity and L[p](<span class="flyspell-duplicate">maxi</span>)==0){" +if(L[p]((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}+if(maxi!=+infinity and L[p](maxi)==0){" valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" "} } lf:=if(product(L[s]((mini+maxi)*.5),s,0,n-1)>0){"plus;"}else{"moins;"}; -<span class="flyspell-duplicate">MetaL</span>:=" input <span class="flyspell-duplicate">tableauVariation</span>; - <span class="flyspell-duplicate">verbatimtex</span> +MetaL:=" input <span class="flyspell-duplicate">tableauVariation</span>; + verbatimtex <span class="comment-delimiter">%</span><span class="comment">&latex </span> <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">documentclass</span><span class="function-name">{article}</span> <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">usepackage</span><span class="variable-name">[upright]</span><span class="function-name">{fourier}</span> <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">usepackage</span><span class="function-name">{amsmath}</span> <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">newcommand</span><span class="function-name">{</span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">Mathbold}</span>[1]{<span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">mbox</span><span class="function-name">{</span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">boldmath</span><span class="function-name"><span class="font-latex-math">$#1$</span></span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">unboldmath}</span>} <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">begin</span><span class="function-name">{document}</span> - <span class="flyspell-duplicate">etex</span> + etex -<span class="flyspell-duplicate">beginTableau</span>("+nmr+") -<span class="flyspell-duplicate">newLigneVariables</span>(btex <span class="font-latex-math">$\\Mathbold{x}$</span> <span class="flyspell-duplicate">etex</span>); +beginTableau("+nmr+") +newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> etex); "+l0+li+ " - newLigneSignes(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe }\\atop{{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> de "+nomf+"(x)}}$</span> <span class="flyspell-duplicate">etex</span>);"+ + newLigneSignes(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe }\\atop{{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> de "+nomf+"(x)}}$</span> etex);"+ if(member(mini,FF)==0){if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){" - valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" + valBarre(btex 0 etex);"}else{" "}}else{"nonDefBarre;"}+ <span class="flyspell-duplicate">lf</span>+ if(member(maxi,FF)==0){if(maxi!=+infinity and product(L[s](maxi),s,0,n-1)==0){" - valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" + valBarre(btex 0 etex);"}else{" "}}else{"nonDefBarre;"}+" -<span class="flyspell-duplicate">endTableau</span>; -<span class="flyspell-duplicate">end</span>" +endTableau; +end" ; }<span class="flyspell-duplicate">else</span>{ l0:="val(btex <span class="font-latex-math">$"+latex(D[0])+"$</span> etex);";li:=" ";lr:=" "; -pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> <span class="flyspell-duplicate">etex</span>); +pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> etex); ";fpour; l0:=l0+"val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> <span class="flyspell-duplicate">etex</span>);"; -for(p:=0;p<=n-1;p++){<span class="flyspell-duplicate">lp</span>:=""; +for(p:=0;p<=n-1;p++){lp:=""; li:=li+" -<span class="flyspell-duplicate">newLigneSignes</span>(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(L[p](x))+"}}$</span> <span class="flyspell-duplicate">etex</span>);"+ +newLigneSignes(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(L[p](x))+"}}$</span> etex);"+ if(mini!=-infinity and L[p](mini)==0){" - valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" + valBarre(btex 0 etex);"}else{" "}+ if(L[p](Z[0]-0.01)>0){"plus;"}else{"moins;"}; @@ -728,20 +738,20 @@ for(p:=0;p<=n-1;p++){<span class="flyspell-duplicate">lp</span>:=""; "}+ if(L[p]((Z[r]+Z[r+1])*.5)>0){"plus;"}else{"moins;"}}; - li:=li+lp+ if(simplifier(L[p](Z[<span class="flyspell-duplicate">nz</span>-1]))==0){"valBarre(btex 0 <span class="flyspell-duplicate">etex</span>);"}else{"barre;"}+ - if(L[p](Z[<span class="flyspell-duplicate">nz</span>-1]+1.0)>0){"plus;"}<span class="flyspell-duplicate">else</span>{"moins; - "}+if(maxi!=+infinity and L[p](<span class="flyspell-duplicate">maxi</span>)==0){" - <span class="flyspell-duplicate">valBarre</span>(<span class="flyspell-duplicate">btex</span> 0 <span class="flyspell-duplicate">etex</span>);"}<span class="flyspell-duplicate">else</span>{" "} + li:=li+lp+ if(simplifier(L[p](Z[nz-1]))==0){"valBarre(btex 0 etex);"}else{"barre;"}+ + if(L[p](Z[nz-1]+1.0)>0){"plus;"}else{"moins; + "}+if(maxi!=+infinity and L[p](maxi)==0){" + valBarre(btex 0 etex);"}else{" "} }; pour t de 0 jusque nz-2 faire lr:=lr+if(product(L[s]((Z[t]+Z[t+1])*.5),s,0,n-1)>0){"plus;"}else{"moins;"}+ - if(member(Z[t+1],<span class="flyspell-duplicate">FF</span>)==0){"valBarre(btex 0 etex);"}else{ "<span class="flyspell-duplicate">nonDefBarre</span>;"} - <span class="flyspell-duplicate">fpour</span> + if(member(Z[t+1],FF)==0){"valBarre(btex 0 etex);"}else{ "<span class="flyspell-duplicate">nonDefBarre</span>;"} + fpour -<span class="flyspell-duplicate">MetaL</span>:=" input <span class="flyspell-duplicate">tableauVariation</span>; +MetaL:=" input tableauVariation; <span class="flyspell-duplicate">verbatimtex</span> <span class="comment-delimiter">%</span><span class="comment">&latex </span> <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">documentclass</span><span class="function-name">{article}</span> @@ -749,39 +759,39 @@ pour t de 0 jusque nz-2 faire <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">usepackage</span><span class="function-name">{amsmath}</span> <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">newcommand</span><span class="function-name">{</span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">Mathbold}</span>[1]{<span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">mbox</span><span class="function-name">{</span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">boldmath</span><span class="function-name"><span class="font-latex-math">$#1$</span></span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">unboldmath}</span>} <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">begin</span><span class="function-name">{document}</span> - <span class="flyspell-duplicate">etex</span> - beginTableau("+<span class="flyspell-duplicate">nmr</span>+") -<span class="flyspell-duplicate">newLigneVariables</span>(btex <span class="font-latex-math">$\\Mathbold{x}$</span> <span class="flyspell-duplicate">etex</span>); + etex + beginTableau("+nmr+") +newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> etex); "+l0+ li + " - newLigneSignes(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe }\\atop{{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> de"+nomf+"(x)}}$</span> <span class="flyspell-duplicate">etex</span>);"+ - if(member(mini,<span class="flyspell-duplicate">FF</span>)==0){if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){" - valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" + newLigneSignes(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe }\\atop{{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> de"+nomf+"(x)}}$</span> etex);"+ + if(member(mini,FF)==0){if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){" + valBarre(btex 0 etex);"}else{" "}}else{"<span class="flyspell-duplicate">nonDefBarre</span>;"}+ if(product(L[s](Z[0]-0.01),s,0,n-1)>0){"plus;"}else{"moins;"}+ - if(member(Z[0],FF)==0){"valBarre(btex 0 etex);"}else{ "<span class="flyspell-duplicate">nonDefBarre</span>;"}+ - <span class="flyspell-duplicate">lr</span>+ + if(member(Z[0],FF)==0){"valBarre(btex 0 etex);"}else{ "nonDefBarre;"}+ + lr+ if(product(L[s](Z[nz-1]+0.01),s,0,n-1)>0){"plus;"}else{"moins;"}+ - if(member(maxi,<span class="flyspell-duplicate">FF</span>)==0){if(<span class="flyspell-duplicate">maxi</span>!=+<span class="flyspell-duplicate">infinity</span> and product(L[s](maxi),s,0,n-1)==0){" - <span class="flyspell-duplicate">valBarre</span>(btex 0 <span class="flyspell-duplicate">etex</span>);"}<span class="flyspell-duplicate">else</span>{" "}}<span class="flyspell-duplicate">else</span>{"<span class="flyspell-duplicate">nonDefBarre</span>;"}+" + if(member(maxi,FF)==0){if(maxi!=+infinity and product(L[s](maxi),s,0,n-1)==0){" + valBarre(btex 0 etex);"}else{" "}}else{"nonDefBarre;"}+" <span class="flyspell-duplicate">endTableau</span>; -<span class="flyspell-duplicate">end</span>" +end" ;} -<span class="flyspell-duplicate">return</span>(<span class="flyspell-duplicate">MetaL</span>); +return(<span class="flyspell-duplicate">MetaL</span>); }:; <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> -<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{<span class="flyspell-duplicate">XcasTabSign.cxx</span>} -<span class="flyspell-duplicate">TSa</span>(a,b,c,d,<span class="flyspell-duplicate">nmr</span>):={ -<span class="flyspell-duplicate">zA</span>:=resoudre(a*x+b=0,x)[0]; -<span class="flyspell-duplicate">zB</span>:=resoudre(c*x+d=0,x)[0]; -<span class="flyspell-duplicate">zmin</span>:=min(zA,<span class="flyspell-duplicate">zB</span>); -<span class="flyspell-duplicate">zmax</span>:=max(zA,<span class="flyspell-duplicate">zB</span>); +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTabSign.cxx} +TSa(a,b,c,d,nmr):={ +zA:=resoudre(a*x+b=0,x)[0]; +zB:=resoudre(c*x+d=0,x)[0]; +<span class="flyspell-duplicate">zmin</span>:=min(zA,zB); +zmax:=max(zA,zB); Meta:= " input <span class="flyspell-duplicate">tableauVariation</span>; - <span class="flyspell-duplicate">verbatimtex</span> + verbatimtex <span class="comment-delimiter">%</span><span class="comment">&latex </span> <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">documentclass</span><span class="function-name">{article}</span> <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">usepackage</span><span class="variable-name">[upright]</span><span class="function-name">{fourier}</span> @@ -790,37 +800,37 @@ pour t de 0 jusque nz-2 faire <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">begin</span><span class="function-name">{document}</span> etex beginTableau("+<span class="flyspell-duplicate">nmr</span>+") - newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> <span class="flyspell-duplicate">etex</span>); + newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> etex); val(btex <span class="font-latex-math">$-\\infty$</span> etex);val(btex <span class="font-latex-math">$"+latex(zmin)+"$</span> etex); val(btex <span class="font-latex-math">$"+latex(zmax)+"$</span>etex); -val(btex <span class="font-latex-math">$+\\infty$</span> <span class="flyspell-duplicate">etex</span>); +val(btex <span class="font-latex-math">$+\\infty$</span> etex); newLigneSignes(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe de }\\atop{\\displaystyle \\Mathbold{"+if(a==1){"x+"}else{if(a==-1){"-x+"}else{a+"x+"}}+b+"}}$</span> etex);" + if(a>0){"moins;"}else{"plus;"}+ if(zmin==zA){"valBarre(btex 0 etex);"}else{"barre;"}+ - if(zmin==zA){si a>0 alors "plus;"; sinon "moins;";<span class="flyspell-duplicate">fsi</span>} - else{si a>0 alors "moins;"; sinon "plus;"; <span class="flyspell-duplicate">fsi</span>}+ - if(zmin==zA){"barre;"}else{"valBarre(btex 0 <span class="flyspell-duplicate">etex</span>);"}+ + if(zmin==zA){si a>0 alors "plus;"; sinon "moins;";fsi} + else{si a>0 alors "moins;"; sinon "plus;"; fsi}+ + if(zmin==zA){"barre;"}else{"valBarre(btex 0 etex);"}+ if(a>0){"plus;"}else{"moins;"} +" -<span class="flyspell-duplicate">newLigneSignes</span>(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe de }\\atop{\\displaystyle \\Mathbold{"+if(c==1){"x+"}else{if(c==-1){"-x+"}else{c+"x+"}}+d+"}}$</span> <span class="flyspell-duplicate">etex</span>);" +<span class="flyspell-duplicate">newLigneSignes</span>(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe de }\\atop{\\displaystyle \\Mathbold{"+if(c==1){"x+"}else{if(c==-1){"-x+"}else{c+"x+"}}+d+"}}$</span> etex);" + if(c>0){"moins"}else{"plus"}+";"+ if(zmin==zB){"valBarre(btex 0 etex);"}else{"barre;"}+ - if(zmin==zB){si c>0 alors "plus;"; sinon "moins;";<span class="flyspell-duplicate">fsi</span>} + if(zmin==zB){si c>0 alors "plus;"; sinon "moins;";fsi} else{si c>0 alors "moins;"; sinon "plus;"; fsi}+ if(zmin==zB){"barre;"}else{"valBarre(btex 0 <span class="flyspell-duplicate">etex</span>);"}+ if(c>0){"plus;"}else{"moins;"} +" -<span class="flyspell-duplicate">newLigneSignes</span>(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe de }\\atop{\\displaystyle \\Mathbold{("+if(a==1){"x+"}else{if(a==-1){"-x+"}else{a+"x+"}}+b+")("+if(c==1){"x+"}else{if(c==-1){"-x+"}else{c+"x+"}}+d+")}}$</span> etex);" +newLigneSignes(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe de }\\atop{\\displaystyle \\Mathbold{("+if(a==1){"x+"}else{if(a==-1){"-x+"}else{a+"x+"}}+b+")("+if(c==1){"x+"}else{if(c==-1){"-x+"}else{c+"x+"}}+d+")}}$</span> etex);" + si a*c>0 alors plus; sinon moins;<span class="flyspell-duplicate">fsi</span>+";"+ - "valBarre(btex 0 <span class="flyspell-duplicate">etex</span>);"+ - si a*c>0 alors moins; sinon plus;<span class="flyspell-duplicate">fsi</span>+";"+ - "valBarre(btex 0 <span class="flyspell-duplicate">etex</span>);"+ + "valBarre(btex 0 etex);"+ + si a*c>0 alors moins; sinon plus;fsi+";"+ + "valBarre(btex 0 etex);"+ si a*c>0 alors plus; sinon moins;fsi+";"+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; <span class="flyspell-duplicate">end</span>" ; -<span class="flyspell-duplicate">return</span>(<span class="flyspell-duplicate">Meta</span>); +return(<span class="flyspell-duplicate">Meta</span>); }:; <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> @@ -838,27 +848,27 @@ val(btex <span class="font-latex-math">$+\\infty$</span> <span class="flyspell-d -<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{<span class="flyspell-incorrect">XcasTSc</span>.<span class="flyspell-duplicate">cxx</span>} -<span class="flyspell-duplicate">TSc</span>(g,D,nmr):={ +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTSc.cxx} +TSc(g,D,nmr):={ f:=unapply(g,x); Z:=NULL; -mini:=D[0]; maxi:=D[1];<span class="flyspell-duplicate">lm</span>:=" "; +mini:=D[0]; maxi:=D[1];lm:=" "; S:=resoudre(f(x),x); if(size(S)==0){ -li:=if(f(0)>0){"plus;"}<span class="flyspell-duplicate">else</span>{"moins;"}; -<span class="flyspell-duplicate">lm</span>:=" ";<span class="flyspell-duplicate">lf</span>:=" "; +li:=if(f(0)>0){"plus;"}else{"moins;"}; +lm:=" ";lf:=" "; } else{pour j de 0 jusque size(S)-1 faire if(S[j]>mini and S[j]<maxi){Z:=Z,simplifier(S[j])}; - <span class="flyspell-duplicate">fpour</span>; + fpour; Z:=sort(Z); nz:=size(Z); if(nz>2){pour u de 1 jusque nz-2 faire - si Z[u]==Z[u+1] alors Z:=Z[0..u-1],Z[u+1..nz-1];nz:=<span class="flyspell-duplicate">nz</span>-1; + si Z[u]==Z[u+1] alors Z:=Z[0..u-1],Z[u+1..nz-1];nz:=nz-1; fsi; -<span class="flyspell-duplicate">fpour</span>;} +fpour;} nz:=size(Z); l0:=" ";li:=" ";lr:=" "; if(nz==0){l0:="val(btex <span class="font-latex-math">$"+latex(D[0])+"$</span> etex);val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> etex);"; @@ -866,33 +876,33 @@ li:=if(mini!=-infinity and f(mini)==0){" valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" "}+ if(f((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}; -lf:=if(maxi!=+infinity and f(maxi)==0){" - valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" +lf:=if(maxi!=+infinity and f(<span class="flyspell-duplicate">maxi</span>)==0){" + valBarre(btex 0 etex);"}else{" "}; }else{ l0:="val(btex <span class="font-latex-math">$"+latex(D[0])+"$</span> etex);";li:=" "; -pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> etex); +pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> <span class="flyspell-duplicate">etex</span>); "; -<span class="flyspell-duplicate">fpour</span>; -l0:=l0+"val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> <span class="flyspell-duplicate">etex</span>);"; +fpour; +l0:=l0+"val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> etex);"; li:= if(mini!=-infinity and f(mini)==0){" - <span class="flyspell-duplicate">valBarre</span>(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" + valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" "}+ -if(f(Z[0]-0.01)>0){"plus;"}<span class="flyspell-duplicate">else</span>{"moins;"}+if(simplifier(f(Z[0]))==0){"<span class="flyspell-duplicate">valBarre</span>(<span class="flyspell-duplicate">btex</span> 0 <span class="flyspell-duplicate">etex</span>);"}<span class="flyspell-duplicate">else</span>{"barre;"}; +if(f(Z[0]-0.01)>0){"plus;"}else{"moins;"}+if(simplifier(f(Z[0]))==0){"valBarre(btex 0 etex);"}else{"barre;"}; -<span class="flyspell-duplicate">lm</span>:=if(<span class="flyspell-duplicate">nz</span>>=2){for(r:=0; r<=nz-2;r++){if(f((Z[r]+Z[r+1])*.5)>0){"plus;"}else{"moins;"}+ +lm:=if(nz>=2){for(r:=0; r<=nz-2;r++){if(f((Z[r]+Z[r+1])*.5)>0){"plus;"}else{"moins;"}+ if(simplifier(f(Z[r+1]))==0){"valBarre(btex 0 etex);"}else{"barre;"} }}<span class="flyspell-duplicate">else</span>{" "}; -<span class="flyspell-duplicate">lf</span>:=if(f(Z[nz-1]+1.0)>0){"plus;"}else{"moins;"}+if(maxi!=+infinity and f(maxi)==0){"valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" +lf:=if(f(Z[nz-1]+1.0)>0){"plus;"}else{"moins;"}+if(maxi!=+infinity and f(maxi)==0){"valBarre(btex 0 etex);"}else{" "}; }}; -MetaL:=" input <span class="flyspell-duplicate">tableauVariation</span>; - <span class="flyspell-duplicate">verbatimtex</span> +<span class="flyspell-duplicate">MetaL</span>:=" input tableauVariation; + verbatimtex <span class="comment-delimiter">%</span><span class="comment">&latex </span> <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">documentclass</span><span class="function-name">{article}</span> <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">usepackage</span><span class="variable-name">[upright]</span><span class="function-name">{fourier}</span> @@ -900,16 +910,16 @@ MetaL:=" input <span class="flyspell-duplicate">tableauVariation</span>; <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">newcommand</span><span class="function-name">{</span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">Mathbold}</span>[1]{<span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">mbox</span><span class="function-name">{</span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">boldmath</span><span class="function-name"><span class="font-latex-math">$#1$</span></span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">unboldmath}</span>} <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">begin</span><span class="function-name">{document}</span> etex -<span class="flyspell-duplicate">beginTableau</span>("+nmr+") +beginTableau("+nmr+") newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> etex); "+l0+" -newLigneSignes(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(f(x))+"}}$</span> <span class="flyspell-duplicate">etex</span>);"+ - li+<span class="flyspell-duplicate">lm</span>+lf +<span class="flyspell-duplicate">newLigneSignes</span>(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(f(x))+"}}$</span> <span class="flyspell-duplicate">etex</span>);"+ + li+lm+lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; end" ; -return(<span class="flyspell-duplicate">MetaL</span>); +<span class="flyspell-duplicate">return</span>(MetaL); }:; <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> @@ -938,26 +948,26 @@ return(<span class="flyspell-duplicate">MetaL</span>); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCas.giac} -<span class="flyspell-duplicate">maple</span>_mode(0); +maple_mode(0); <span class="flyspell-duplicate">read</span>("XcasTabSign.cxx"); Sortie:=fopen("XCasmp.mp"); -<span class="flyspell-duplicate">vect</span>.xcas.user := read("XCas.user"); +vect.xcas.user := read("XCas.user"); vxo := vect.xcas.user; -<span class="flyspell-duplicate">dim</span>.vxo := dim(vxo); -<span class="flyspell-duplicate">nbr</span>.line.vxo := dim.vxo; +dim.vxo := dim(vxo); +nbr.line.vxo := dim.vxo; <span class="flyspell-duplicate">Resultat</span>:=cat(" "); -rslt := vxo[0]; RslT:=cat(<span class="flyspell-duplicate">rslt</span>); +rslt := vxo[0]; RslT:=cat(rslt); <span class="flyspell-duplicate">Resultat</span>:=cat(Resultat,RslT); -fprint(Sortie,Unquoted,Resultat); -<span class="flyspell-duplicate">fclose</span>(Sortie); +<span class="flyspell-duplicate">fprint</span>(Sortie,Unquoted,Resultat); +fclose(Sortie); <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> -<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{</span><span class="function-name"><span class="flyspell-duplicate">TSa</span></span><span class="function-name">}</span> +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TSa}</span> {<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>£µ]{XCas.user}} {<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> - <span class="font-latex-sedate">\executGiacmp</span>{XCas.giac} + <span class="font-latex-sedate">\executGiacmp</span>{XCas.<span class="flyspell-duplicate">giac</span>} - <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{mpost <span class="flyspell-duplicate">XCasmp</span>} + <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{mpost XCasmp} <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{center}</span> <span class="font-latex-sedate">\includegraphics</span>{XCasmp.<span class="font-latex-sedate">\theTVn</span>} @@ -966,27 +976,54 @@ fprint(Sortie,Unquoted,Resultat); } + + + + + + + <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasQ.giac} -<span class="flyspell-duplicate">maple</span>_mode(0); +maple_mode(0); <span class="flyspell-duplicate">read</span>("XcasTabSignQ.cxx"); Sortie:=fopen("XCasmpQ.mp"); vect.xcas.user := read("XCasQ.user"); -<span class="flyspell-duplicate">vxo</span> := vect.xcas.user; +vxo := vect.xcas.user; dim.vxo := dim(vxo); nbr.line.vxo := dim.vxo; <span class="flyspell-duplicate">Resultat</span>:=cat(" "); -<span class="flyspell-duplicate">rslt</span> := vxo[0]; RslT:=cat(rslt); +rslt := vxo[0]; RslT:=cat(rslt); Resultat:=cat(Resultat,RslT); -<span class="flyspell-duplicate">fprint</span>(Sortie,Unquoted,Resultat); +fprint(Sortie,Unquoted,Resultat); fclose(Sortie); <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> <span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TSq}</span> {<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>£µ]{XCasQ.user}} {<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> - <span class="font-latex-sedate">\executGiacmp</span>{XCasQ.giac} + <span class="font-latex-sedate">\executGiacmp</span>{XCasQ.<span class="flyspell-duplicate">giac</span>} + + <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{mpost XCasmpQ} + +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{center}</span> + <span class="font-latex-sedate">\includegraphics</span>{XCasmpQ.<span class="font-latex-sedate">\theTVn</span>} +<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{center}</span> +<span class="font-latex-sedate">\stepcounter</span>{<span class="flyspell-duplicate">TVn</span>} +} + + + +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{</span><span class="function-name"><span class="flyspell-duplicate">TSq</span></span><span class="function-name">*}</span> +{<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>£µ]{XCasQ.user}} +{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> + <span class="font-latex-sedate">\executGiacmp</span>{XCasQ.<span class="flyspell-duplicate">giac</span>} + + + + +<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{texmaker XCasmpQ.mp} - <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{mpost <span class="flyspell-duplicate">XCasmpQ</span>} + <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{mpost XCasmpQ} <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{center}</span> <span class="font-latex-sedate">\includegraphics</span>{XCasmpQ.<span class="font-latex-sedate">\theTVn</span>} @@ -996,18 +1033,20 @@ fclose(Sortie); + + <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasL.giac} maple_mode(0); -<span class="flyspell-duplicate">read</span>("XcasTabSignL.cxx"); +read("XcasTabSignL.cxx"); Sortie:=fopen("XCasmpL.mp"); <span class="flyspell-duplicate">vect</span>.xcas.user := read("XCasL.user"); -<span class="flyspell-duplicate">vxo</span> := vect.xcas.user; +vxo := vect.xcas.user; dim.vxo := dim(vxo); nbr.line.vxo := dim.vxo; -<span class="flyspell-duplicate">Resultat</span>:=cat(" "); -<span class="flyspell-duplicate">rslt</span> := vxo[0]; RslT:=cat(rslt); +Resultat:=cat(" "); +rslt := vxo[0]; RslT:=cat(rslt); <span class="flyspell-duplicate">Resultat</span>:=cat(Resultat,RslT); -<span class="flyspell-duplicate">fprint</span>(Sortie,Unquoted,Resultat); +fprint(Sortie,Unquoted,Resultat); fclose(Sortie); <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> @@ -1024,30 +1063,55 @@ fclose(Sortie); <span class="font-latex-sedate">\stepcounter</span>{<span class="flyspell-duplicate">TVn</span>} } -<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{<span class="flyspell-duplicate">XCasTSc</span>.giac} -<span class="flyspell-duplicate">maple</span>_mode(0); -read("<span class="flyspell-duplicate">XcasTSc.cxx</span>"); -Sortie:=<span class="flyspell-duplicate">fopen</span>("<span class="flyspell-duplicate">XCasmpTSc</span>.<span class="flyspell-duplicate">mp</span>"); -<span class="flyspell-duplicate">vect</span>.xcas.user := read("<span class="flyspell-duplicate">XCasTSc</span>.user"); + + +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TS*}</span> +{<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>£µ]{XCasL.user}} +{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> + <span class="font-latex-sedate">\executGiacmp</span>{XCasL.<span class="flyspell-duplicate">giac</span>} + +<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{texmaker XCasmpL.mp} + + <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{mpost XCasmpL} + +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{center}</span> + <span class="font-latex-sedate">\includegraphics</span>{XCasmpL.<span class="font-latex-sedate">\theTVn</span>} +<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{center}</span> +<span class="font-latex-sedate">\stepcounter</span>{<span class="flyspell-duplicate">TVn</span>} +} + + + + + + +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasTSc.giac} +maple_mode(0); +<span class="flyspell-duplicate">read</span>("XcasTSc.cxx"); +Sortie:=fopen("XCasmpTSc.mp"); +vect.xcas.user := read("XCasTSc.user"); vxo := vect.xcas.user; -dim.vxo := dim(<span class="flyspell-duplicate">vxo</span>); -<span class="flyspell-duplicate">nbr</span>.line.vxo := dim.<span class="flyspell-duplicate">vxo</span>; -Resultat:=<span class="flyspell-duplicate">cat</span>(" "); +dim.vxo := dim(vxo); +nbr.line.vxo := dim.vxo; +<span class="flyspell-duplicate">Resultat</span>:=cat(" "); rslt := vxo[0]; RslT:=cat(rslt); -<span class="flyspell-duplicate">Resultat</span>:=cat(Resultat,RslT); +Resultat:=cat(Resultat,RslT); fprint(Sortie,Unquoted,Resultat); fclose(Sortie); <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> -<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{</span><span class="function-name"><span class="flyspell-duplicate">TSc</span></span><span class="function-name">}</span> -{<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[<span class="flyspell-duplicate">commandchars</span>=<span class="font-latex-warning">\\</span>£µ]{<span class="flyspell-incorrect">XCasTSc</span>.user}} +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TSc*}</span> +{<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>£µ]{XCasTSc.user}} {<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> - <span class="font-latex-sedate">\executGiacmp</span>{<span class="flyspell-duplicate">XCasTSc</span>.<span class="flyspell-duplicate">giac</span>} + <span class="font-latex-sedate">\executGiacmp</span>{XCasTSc.<span class="flyspell-duplicate">giac</span>} - <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="flyspell-duplicate">mpost</span> <span class="flyspell-duplicate">XCasmpTSc</span>} +<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="flyspell-duplicate">texmaker</span> XCasmpTSc.mp} + + + <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{mpost XCasmpTSc} <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{center}</span> - <span class="font-latex-sedate">\includegraphics</span>{<span class="flyspell-duplicate">XCasmpTSc</span>.<span class="font-latex-sedate">\theTVn</span>} + <span class="font-latex-sedate">\includegraphics</span>{XCasmpTSc.<span class="font-latex-sedate">\theTVn</span>} <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{center}</span> <span class="font-latex-sedate">\stepcounter</span>{<span class="flyspell-duplicate">TVn</span>} } @@ -1057,19 +1121,38 @@ fclose(Sortie); +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TSc}</span> +{<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>£µ]{XCasTSc.user}} +{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> + <span class="font-latex-sedate">\executGiacmp</span>{XCasTSc.giac} + + <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{mpost XCasmpTSc} + +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{center}</span> + <span class="font-latex-sedate">\includegraphics</span>{XCasmpTSc.<span class="font-latex-sedate">\theTVn</span>} +<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{center}</span> +<span class="font-latex-sedate">\stepcounter</span>{TVn} +} + + + + + + + <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasTV.giac} -<span class="flyspell-duplicate">maple</span>_mode(0); +maple_mode(0); read("XcasTV.cxx"); Sortie:=fopen("XCasmpTV.mp"); vect.xcas.user := read("XCasTV.user"); vxo := vect.xcas.user; -<span class="flyspell-duplicate">dim</span>.vxo := dim(vxo); +dim.vxo := dim(vxo); <span class="flyspell-duplicate">nbr</span>.line.vxo := dim.vxo; Resultat:=cat(" "); rslt := vxo[0]; RslT:=cat(rslt); Resultat:=cat(Resultat,RslT); fprint(Sortie,Unquoted,Resultat); -<span class="flyspell-duplicate">fclose</span>(Sortie); +fclose(Sortie); <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> <span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TV}</span><span class="comment">% @@ -1086,17 +1169,33 @@ fprint(Sortie,Unquoted,Resultat); +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TV*}</span><span class="comment">% +</span>{<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>£µ]{XCasTV.user}}<span class="comment">% +</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="comment">% +</span> <span class="font-latex-sedate">\executGiacmp</span>{XCasTV.<span class="flyspell-duplicate">giac</span>} + +<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="flyspell-incorrect">texmaker</span> <span class="flyspell-duplicate">XCasmpTV</span>.<span class="flyspell-duplicate">mp</span>} + + <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{mpost XCasmpTV} +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{center}</span> + <span class="font-latex-sedate">\includegraphics</span>{XCasmpTV.<span class="font-latex-sedate">\theTVn</span>} +<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{center}</span> +<span class="font-latex-sedate">\stepcounter</span>{TVn} +} + + + <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasTVI.giac} <span class="flyspell-duplicate">maple</span>_mode(0); -read("XcasTVI.<span class="flyspell-duplicate">cxx</span>"); +read("XcasTVI.cxx"); Sortie:=fopen("XCasmpTVI.mp"); -<span class="flyspell-duplicate">vect</span>.xcas.user := read("XCasTVI.user"); +vect.xcas.user := read("XCasTVI.user"); vxo := vect.xcas.user; -dim.vxo := dim(vxo); +<span class="flyspell-duplicate">dim</span>.vxo := dim(vxo); <span class="flyspell-duplicate">nbr</span>.line.vxo := dim.vxo; Resultat:=cat(" "); rslt := vxo[0]; RslT:=cat(rslt); -<span class="flyspell-duplicate">Resultat</span>:=cat(Resultat,RslT); +Resultat:=cat(Resultat,RslT); fprint(Sortie,Unquoted,Resultat); fclose(Sortie); <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> @@ -1113,14 +1212,28 @@ fclose(Sortie); <span class="font-latex-sedate">\stepcounter</span>{<span class="flyspell-duplicate">TVn</span>} } +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVI*}</span><span class="comment">% +</span>{<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>£µ]{XCasTVI.user}}<span class="comment">% +</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="comment">% +</span> <span class="font-latex-sedate">\executGiacmp</span>{XCasTVI.<span class="flyspell-duplicate">giac</span>} + +<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="flyspell-duplicate">texmaker</span> XCasmpTVI.mp} + + <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{mpost XCasmpTVI} +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{center}</span> + <span class="font-latex-sedate">\includegraphics</span>{XCasmpTVI.<span class="font-latex-sedate">\theTVn</span>} +<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{center}</span> + +<span class="font-latex-sedate">\stepcounter</span>{<span class="flyspell-duplicate">TVn</span>} +} <span class="comment-delimiter">%%</span><span class="comment"> -</span><span class="comment-delimiter">%% </span><span class="comment">Zi end +</span><span class="comment-delimiter">%% </span><span class="comment">Zi </span><span class="comment"><span class="flyspell-duplicate">end</span></span><span class="comment"> </span></pre> </body> </html> diff --git a/Master/texmf-dist/doc/latex/tablor/tablor.pdf b/Master/texmf-dist/doc/latex/tablor/tablor.pdf Binary files differindex 42f6060520b..be728b7f5ae 100644 --- a/Master/texmf-dist/doc/latex/tablor/tablor.pdf +++ b/Master/texmf-dist/doc/latex/tablor/tablor.pdf diff --git a/Master/texmf-dist/doc/latex/tablor/tablor.tex b/Master/texmf-dist/doc/latex/tablor/tablor.tex index 34cb3be545c..c7f07278895 100644 --- a/Master/texmf-dist/doc/latex/tablor/tablor.tex +++ b/Master/texmf-dist/doc/latex/tablor/tablor.tex @@ -106,7 +106,10 @@ pour installer une nouvelle extension \LaTeX{}. rajouter dans le préambule~:\\ \verb+\DeclareGraphicsRule{*}{mps}{*}{}+ -\item il faut installer le fichier \texttt{tablor.sty} dans son \texttt{texmf} personnel. +\item il faut installer le fichier \texttt{tablor.sty} dans son \texttt{texmf} personnel. + + + \ez @@ -511,6 +514,68 @@ On peut également stocker les tableaux dans un autre dossier + +\section{Comment modifier les tableaux à partir des fichiers MetaPOST~?} + + +Il est impossible de prévoir toutes les requêtes des différents utilisateurs. Le style du tableau +produit peut néanmoins vous déplaire. Vous pouvez le modifier en intervenant directement sur le +fichier MetaPOST crée pour chaque tableau. Pour cela, il suffit d'ajouter une étoile au nom de +l'environnement utilisé. + +Si vous tapez~: + +\begin{lstlisting} +\begin{TV*} + TV([-1,+infinity],[],"f","x",x-ln(x+1),1,\tv) +\end{TV*} +\end{lstlisting} + +le logiciel \TeX maker est directement lancé et le fichier MetaPOST correspondant à votre tableau +est affiché. Vous pouvez alors le modifier, taper sur \Ctrl + \keystroke{S} pour l'enregistrer et +\Ctrl + \keystroke{Q} pour fermer \TeX maker. La compilation s'achève alors automatiquement comme +pour un environnement non étoilé. + + + +\begin{figure} + \begin{Idee} + Le logiciel \TeX maker a été choisi car il est libre, multi-plateforme et très rapide + de chargement. Vous pouvez tout à fait changer d'éditeur en modifiant le fichier + \texttt{tablor.sty}~:~il suffit de remplacer chaque occurrence de \texttt{texmaker} + par le nom de votre éditeur. + \end{Idee} + \end{figure} + + +Par exemple, je tape~: + +\begin{lstlisting} +\begin{TS*} + TS([3*x+2,5*x^2-1],[-50,50],\tv) +\end{TS*} +\end{lstlisting} + + +et apparaît une fenêtre \TeX maker avec le fichier correspondant au tableau. Je le modifie à +volonté~: + +\begin{center} + \includegraphics{capture.eps} +\end{center} + + +Je tape sur \Ctrl + \keystroke{S} puis \Ctrl + \keystroke{Q} et la compilation reprend +automatiquement pour m'afficher le tableau voulu~: + + +\begin{center} + \begin{TS*} + TS([3*x+2,5*x^2-1],[-50,50],\tv) + \end{TS*} +\end{center} + + \section{Merci...} \bez @@ -726,7 +791,11 @@ TSc((x-10)*(x+10),[-10,10],\tv) -\nettoyer +\pagebreak + +\tableofcontents + +%\nettoyer diff --git a/Master/texmf-dist/tex/latex/tablor/tablor.sty b/Master/texmf-dist/tex/latex/tablor/tablor.sty index 19fe60c171b..e6e687caf78 100644 --- a/Master/texmf-dist/tex/latex/tablor/tablor.sty +++ b/Master/texmf-dist/tex/latex/tablor/tablor.sty @@ -1,12 +1,12 @@ \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesPackage{tablor} - [23/01/2008 v1.4 + [02/02/2008 v1.5 la machine à créer des tableaux de signes et variations] -%% Crée 5 environnements : +%% Crée 10 environnements : %% tableau de signes de 2 facteurs affines % \begin{TSa} % TSa(-2,3,-1,5,\tv); @@ -32,6 +32,14 @@ %TVI([-1,+infinity],[-1],"f","x",x2/sqrt(x+1)-1,1,2,\tv) %\end{TVI} %%% +% +% et leurs pendants étoilés qui permet l'affichage intermédiaire du +% fichier metapost pour le modifier +% +% +% +% + @@ -93,6 +101,7 @@ pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex); lsi:=" newLigneSignes(btex $\\hbox{ Signe de }\\atop{\\displaystyle "+nom+"'("+nomv+")}$ etex);"+ if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){ + if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+ if(sign(fp(Z[0]+10^(-5)))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+ if(sign(fp((Z[0]+10^(-5))))==1){"plus;"}else{"moins;"} }} @@ -246,6 +255,7 @@ TestS:=(sign(evalf(LL[0]-ao))==sign(evalf(LL[1]-ao))) or (sign(evalf(LL[0]-ao))= lsi:=" newLigneSignes(btex $\\hbox{ Signe de }\\atop{\\displaystyle "+nom+"'("+nomv+")}$ etex);"+ if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){ + if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+ if(sign(fp((Z[0]+10^(-10))))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+ if(sign(fp(10^(-10)+Z[0]))==1){"plus;"}else{"moins;"} }}+if(TestS==0){"valBarre(btex$ $ etex);"+ if(sign(fp(10^(-10)+Z[0]))==1){"plus;"}else{"moins;"}}else{" "}; @@ -882,6 +892,13 @@ fclose(Sortie); } + + + + + + + \begin{VerbatimOut}{XCasQ.giac} maple_mode(0); read("XcasTabSignQ.cxx"); @@ -912,6 +929,28 @@ fclose(Sortie); +\newenvironment{TSq*} +{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasQ.user}} +{\end{VerbatimOut} + \executGiacmp{XCasQ.giac} + + + + +\immediate\write18{texmaker XCasmpQ.mp} + + \immediate\write18{mpost XCasmpQ} + +\begin{center} + \includegraphics{XCasmpQ.\theTVn} +\end{center} +\stepcounter{TVn} +} + + + + + \begin{VerbatimOut}{XCasL.giac} maple_mode(0); read("XcasTabSignL.cxx"); @@ -940,6 +979,28 @@ fclose(Sortie); \stepcounter{TVn} } + + +\newenvironment{TS*} +{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasL.user}} +{\end{VerbatimOut} + \executGiacmp{XCasL.giac} + +\immediate\write18{texmaker XCasmpL.mp} + + \immediate\write18{mpost XCasmpL} + +\begin{center} + \includegraphics{XCasmpL.\theTVn} +\end{center} +\stepcounter{TVn} +} + + + + + + \begin{VerbatimOut}{XCasTSc.giac} maple_mode(0); read("XcasTSc.cxx"); @@ -955,6 +1016,27 @@ fprint(Sortie,Unquoted,Resultat); fclose(Sortie); \end{VerbatimOut} +\newenvironment{TSc*} +{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasTSc.user}} +{\end{VerbatimOut} + \executGiacmp{XCasTSc.giac} + +\immediate\write18{texmaker XCasmpTSc.mp} + + + \immediate\write18{mpost XCasmpTSc} + +\begin{center} + \includegraphics{XCasmpTSc.\theTVn} +\end{center} +\stepcounter{TVn} +} + + + + + + \newenvironment{TSc} {\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasTSc.user}} {\end{VerbatimOut} @@ -973,6 +1055,7 @@ fclose(Sortie); + \begin{VerbatimOut}{XCasTV.giac} maple_mode(0); read("XcasTV.cxx"); @@ -1002,6 +1085,22 @@ fclose(Sortie); +\newenvironment{TV*}% +{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasTV.user}}% +{\end{VerbatimOut}% + \executGiacmp{XCasTV.giac} + +\immediate\write18{texmaker XCasmpTV.mp} + + \immediate\write18{mpost XCasmpTV} +\begin{center} + \includegraphics{XCasmpTV.\theTVn} +\end{center} +\stepcounter{TVn} +} + + + \begin{VerbatimOut}{XCasTVI.giac} maple_mode(0); read("XcasTVI.cxx"); @@ -1029,7 +1128,21 @@ fclose(Sortie); \stepcounter{TVn} } +\newenvironment{TVI*}% +{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasTVI.user}}% +{\end{VerbatimOut}% + \executGiacmp{XCasTVI.giac} + + +\immediate\write18{texmaker XCasmpTVI.mp} + + \immediate\write18{mpost XCasmpTVI} +\begin{center} + \includegraphics{XCasmpTVI.\theTVn} +\end{center} +\stepcounter{TVn} +} |