diff options
-rw-r--r-- | Master/texmf-dist/doc/latex/tablor/README | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/tablor/README-fr.txt | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/tablor/Tablor.pdf | bin | 134715 -> 0 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/tablor/tablor.html | 513 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/tablor/tablor.pdf | bin | 0 -> 137247 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/tablor/tablor.tex (renamed from Master/texmf-dist/doc/latex/tablor/Tablor.tex) | 130 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tablor/tablor.sty | 123 |
7 files changed, 418 insertions, 352 deletions
diff --git a/Master/texmf-dist/doc/latex/tablor/README b/Master/texmf-dist/doc/latex/tablor/README index a51504d7256..0831da6cb96 100644 --- a/Master/texmf-dist/doc/latex/tablor/README +++ b/Master/texmf-dist/doc/latex/tablor/README @@ -9,7 +9,7 @@ The tablor package requires that shell escape be enabled. For instance : -\begin{TV} TV([-10,+infinity],[-1,1],"g","t",x^2/(x^2-1),1,3) \end{TV} +\begin{TV} TV([-10,+infinity],[-1,1],"g","t",x^2/(x^2-1),1,\tv) \end{TV} draws table of variations of x->x^2/(x^2-1). diff --git a/Master/texmf-dist/doc/latex/tablor/README-fr.txt b/Master/texmf-dist/doc/latex/tablor/README-fr.txt index 9e1de707415..5efc255fa76 100644 --- a/Master/texmf-dist/doc/latex/tablor/README-fr.txt +++ b/Master/texmf-dist/doc/latex/tablor/README-fr.txt @@ -4,7 +4,7 @@ pour les tableaux. On rentre par exemple: -\begin{TV} TV([-10,+infinity],[-1,1],"g","t",x^2/(x^2-1),1,3) \end{TV} +\begin{TV} TV([-10,+infinity],[-1,1],"g","t",x^2/(x^2-1),1,\tv) \end{TV} et on obtient le tableau de variation de x->x^2/(x^2-1). diff --git a/Master/texmf-dist/doc/latex/tablor/Tablor.pdf b/Master/texmf-dist/doc/latex/tablor/Tablor.pdf Binary files differdeleted file mode 100644 index ba408074c10..00000000000 --- a/Master/texmf-dist/doc/latex/tablor/Tablor.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/tablor/tablor.html b/Master/texmf-dist/doc/latex/tablor/tablor.html index 1ff1f5ed59f..9505cccb01f 100644 --- a/Master/texmf-dist/doc/latex/tablor/tablor.html +++ b/Master/texmf-dist/doc/latex/tablor/tablor.html @@ -85,7 +85,7 @@ <span class="font-latex-sedate">\NeedsTeXFormat</span>{LaTeX2e}[1995/12/01] <span class="font-latex-sedate">\ProvidesPackage</span>{<span class="flyspell-incorrect">tablor</span>} - [17/01/2008 v1.2 + [21/01/2008 v1.3 la machine à créer des tableaux de signes et variations] @@ -93,35 +93,35 @@ <span class="comment-delimiter">%% </span><span class="comment">Crée 5 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"><span class="flyspell-duplicate">TSa</span></span><span class="comment">(-2,3,-1,5,1); +</span><span class="comment-delimiter">% </span><span class="comment"><span class="flyspell-duplicate">TSa</span></span><span class="comment">(-2,3,-1,5,</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">{TSa} </span><span class="comment-delimiter">% </span><span class="comment">%%%%%% Pour des tableaux de plus de 2 facteurs </span><span class="comment-delimiter">%</span><span class="comment"> </span><span class="comment-delimiter">% </span><span class="font-latex-sedate"><span class="comment">\begin</span></span><span class="comment">{TS} -</span><span class="comment-delimiter">% </span><span class="comment">TS([-2*x+3,x^2-1,x^2+1,x-1,x^2-2],2); +</span><span class="comment-delimiter">% </span><span class="comment">TS([-2*x+3,x^2-1,x^2+1,x-1,x^2-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">{TS} </span><span class="comment-delimiter">%</span><span class="comment"> </span><span class="comment-delimiter">% </span><span class="comment">pour les tableaux de signes avec quotient </span><span class="comment-delimiter">%</span><span class="font-latex-sedate"><span class="comment">\begin</span></span><span class="comment">{TSq} -</span><span class="comment-delimiter">%</span><span class="comment">TSq("Q",[-2*x+3,-4*x+5],[x^2-16,x-2],3) +</span><span class="comment-delimiter">%</span><span class="comment">TSq("Q",[-2*x+3,-4*x+5],[x^2-16,x-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">{TSq} </span><span class="comment-delimiter">% </span><span class="comment">un tableau de variation : </span><span class="comment-delimiter">%</span><span class="comment"> </span><span class="comment-delimiter">% </span><span class="font-latex-sedate"><span class="comment">\begin</span></span><span class="comment">{TV} -</span><span class="comment-delimiter">% </span><span class="comment">TV([0,+infinity],[0],"h","x",ln(x)-(ln(x))^2,1,4) +</span><span class="comment-delimiter">% </span><span class="comment">TV([0,+infinity],[0],"h","x",ln(x)-(ln(x))^2,1,</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">{TV} </span><span class="comment-delimiter">%</span><span class="comment"> </span><span class="comment-delimiter">% </span><span class="comment">tableau avec valeurs </span><span class="comment"><span class="flyspell-incorrect">intermédiares</span></span><span class="comment"> </span><span class="comment-delimiter">%</span><span class="font-latex-sedate"><span class="comment">\begin</span></span><span class="comment">{TVI} -</span><span class="comment-delimiter">%</span><span class="comment"><span class="flyspell-duplicate">TVI</span></span><span class="comment">([-1,+infinity],[-1],"f","x",x2/sqrt(x+1)-1,1,2,1) +</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="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.<span class="flyspell-duplicate">log</span> *.out <span class="flyspell-duplicate">XCasmpTVI</span>.<span class="flyspell-duplicate">mp</span>* <span class="flyspell-duplicate">XCasmpTVI</span>.<span class="flyspell-duplicate">log</span> - *.in *.meta *<span class="flyspell-incorrect">mpx</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 *.out XCasmpTVI.mp* XCasmpTVI.log + *.in *.meta *<span class="flyspell-incorrect">mpx</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">\bouger</span></span><span class="function-name">}</span>[1]{ <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{cp <span class="flyspell-duplicate">XCas</span>* #1}} @@ -134,6 +134,7 @@ <span class="font-latex-sedate"><span class="keyword">\newcounter</span></span><span class="function-name">{</span><span class="function-name"><span class="flyspell-duplicate">TVn</span></span><span class="function-name">}</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">\tv</span></span><span class="function-name">}</span>{<span class="font-latex-sedate">\theTVn</span>} <span class="font-latex-sedate"><span class="keyword">\usepackage</span></span><span class="function-name">{fancyvrb}</span> <span class="comment-delimiter">%</span><span class="font-latex-sedate"><span class="comment">\usepackage</span></span><span class="comment">[upright]{fourier} @@ -145,66 +146,73 @@ <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTV.meta} -TV(L,F,nom,<span class="flyspell-duplicate">nomv</span>,f,ftt,<span class="flyspell-duplicate">nmr</span>):={ -<span class="flyspell-duplicate">nl</span>:=<span class="flyspell-duplicate">size</span>(L); +TV(L,F,nom,nomv,f,ftt,nmr):={ +nl:=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])<=<span class="flyspell-duplicate">evalf</span>(L[<span class="flyspell-duplicate">nl</span>-1])); if(kk==1){Z:=append(Z,simplifier(S[j]))}; <span class="flyspell-duplicate">fpour</span> - <span class="flyspell-duplicate">fsi</span>; + 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; + 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); -l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";<span class="flyspell-duplicate">lsp</span>:=" "; -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>; +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>; 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)); + kz:=evalf(limite(f(x),x=Z[nz-1],-1))> evalf(limite(f(x),x=Z[nz-2],1)); -<span class="flyspell-duplicate">lsi</span>:="newLigneSignes(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(<span class="flyspell-duplicate">fp</span>(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}<span class="flyspell-duplicate">else</span>{"moins;"}}<span class="flyspell-duplicate">else</span>{if(<span class="flyspell-duplicate">member</span>(Z[0],F)==0){ - if(<span class="flyspell-duplicate">sign</span>(<span class="flyspell-duplicate">fp</span>(Z[0]+10^(-5)))==1){"plus;"}<span class="flyspell-duplicate">else</span>{"moins;"}}<span class="flyspell-duplicate">else</span>{"<span class="flyspell-duplicate">nonDefBarre</span>;"+ - if(<span class="flyspell-duplicate">sign</span>(<span class="flyspell-duplicate">fp</span>((Z[0]+10^(-5))))==1){"plus;"}else{"moins;"} }} +lsi:=" +newLigneSignes(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;"}else{"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(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{"<span class="flyspell-duplicate">nonDefBarre</span>;"}+ + lsp:=lsp+if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+ if(ksp==1){"plus;"}else{"moins;"} }; } -<span class="flyspell-duplicate">lsf</span>:=if(member(Z[nz-1],F)==0){""}else{"<span class="flyspell-duplicate">nomDefBarre</span>;"} -<span class="flyspell-duplicate">lm</span>0:=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>);"+ - 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(k0==1){"1"}<span class="flyspell-duplicate">else</span>{"0"}+ +lsf:=if(member(Z[nz-1],F)==0){""}else{"nomDefBarre; +"} +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>);"+ + 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(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);"}<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);"}<span class="flyspell-duplicate">else</span>{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); +"}}} }; } -<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> <span class="flyspell-duplicate">etex</span>,"}+ - if(kz==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}; +lnz:=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{"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); +"}; -<span class="flyspell-duplicate">intro</span>:="input <span class="flyspell-duplicate">tableauVariation</span>; - <span class="flyspell-duplicate">verbatimtex</span> +intro:="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> @@ -216,35 +224,39 @@ if(nz>2){ for(r:=1; r<=nz-2;r++){ ksp:=evalf(fp(Z[r]+0.01))>0; " -<span class="flyspell-duplicate">MetaL</span>:= if(ftt==0){if(nz>2){intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +MetaL:= 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>; -<span class="flyspell-duplicate">end</span>";}else{intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ ++" +endTableau; +end";}else{intro+"beginTableau("+nmr+")"+ l0+ li+ <span class="flyspell-duplicate">lf</span> -+"<span class="flyspell-duplicate">endTableau</span>; -<span class="flyspell-duplicate">end</span>";}}<span class="flyspell-duplicate">else</span>{ -if(nz>2){intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ ++" +endTableau; +end";}}else{ +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>+ -<span class="flyspell-duplicate">lf</span> -+"<span class="flyspell-duplicate">endTableau</span>; -<span class="flyspell-duplicate">end</span>";}else{intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +lp+ +lf ++" +endTableau; +<span class="flyspell-duplicate">end</span>";}else{intro+"beginTableau("+nmr+")"+ l0+ -<span class="flyspell-duplicate">lsi</span>+<span class="flyspell-duplicate">lsf</span>+ +lsi+lsf+ li+ -<span class="flyspell-duplicate">lf</span> -+"<span class="flyspell-duplicate">endTableau</span>; -<span class="flyspell-duplicate">end</span>";} +lf ++" +<span class="flyspell-duplicate">endTableau</span>; +end";} } -<span class="flyspell-duplicate">return</span>(<span class="flyspell-duplicate">MetaL</span>); +return(<span class="flyspell-duplicate">MetaL</span>); }:; @@ -254,75 +266,77 @@ li+ <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTVI.<span class="flyspell-duplicate">meta</span>} -<span class="flyspell-duplicate">TVI</span>(L,F,nom,nomv,f,ftt,ao,<span class="flyspell-duplicate">nmr</span>):={ -<span class="flyspell-duplicate">nl</span>:=<span class="flyspell-duplicate">size</span>(L); +TVI(L,F,nom,nomv,f,ftt,ao,nmr):={ +nl:=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 - <span class="flyspell-duplicate">kk</span>:=(<span class="flyspell-duplicate">evalf</span>(S[j])>=<span class="flyspell-duplicate">evalf</span>(L[0])) and (<span class="flyspell-duplicate">evalf</span>(S[j])<=<span class="flyspell-duplicate">evalf</span>(L[<span class="flyspell-duplicate">nl</span>-1])); - if(<span class="flyspell-duplicate">kk</span>==1){Z:=append(Z,simplifier(S[j]))}; - <span class="flyspell-duplicate">fpour</span> - <span class="flyspell-duplicate">fsi</span>; + 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; Z:=sort(Z); -<span class="flyspell-duplicate">nz</span>:=size(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">fsi</span>; + 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; - <span class="flyspell-duplicate">fsi</span>; -<span class="flyspell-duplicate">fpour</span>; -<span class="flyspell-duplicate">nz</span>:=size(Z); -l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";<span class="flyspell-duplicate">lsp</span>:=" "; + si Z[u]==Z[u+1] alors Z:=augment(Z[0..u-1],Z[u+1..nz-1]);nz:=nz-1; + fsi; +fpour; +nz:=size(Z); +l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";lsp:=" "; LI:=limite(f(x),x,Z[0],1); -<span class="flyspell-duplicate">LF</span>:=limite(f(x),x,Z[<span class="flyspell-duplicate">nz</span>-1],-1); -<span class="flyspell-duplicate">LP</span>:=<span class="flyspell-duplicate">NULL</span>; +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>]}; +if(nz>2){ LL:=[LI,LP,LF]}else{LL:=[LI,LF]}; -<span class="flyspell-duplicate">NL</span>:=size(<span class="flyspell-duplicate">LL</span>); -A:=NULL;aa:=1;<span class="flyspell-duplicate">kk</span>:=0; +NL:=size(LL); +A:=NULL;aa:=1;kk:=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(LL[k]-ao))==0.0)or (sign(evalf(LL[k+1]-<span class="flyspell-duplicate">ao</span>))==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> <span class="flyspell-duplicate">etex</span>);"}} -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<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:=aa+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> etex);"}; -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]-<span class="flyspell-duplicate">ao</span>))==0.0); -<span class="flyspell-duplicate">TestL</span>:=(abs(LL[k])==abs(LL[k+1])); -if(TestS==0){ if( TestL==1 ){l0:=l0}<span class="flyspell-duplicate">else</span>{ -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);";<span class="flyspell-duplicate">aa</span>:=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}} -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(LL[k]-ao))==0.0)or (sign(evalf(LL[k+1]-ao))==0.0); +TestL:=(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:=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(LL[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]-ao))==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>:="newLigneSignes(btex <span class="font-latex-math">$\\hbox{ Signe de }\\atop{\\displaystyle "+nom+"'("+nomv+")}$</span> <span class="flyspell-duplicate">etex</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]==+<span class="flyspell-duplicate">infinity</span>){0}<span class="flyspell-duplicate">else</span>{Z[1]-10^(-5)})))==1){"plus;"}<span class="flyspell-duplicate">else</span>{"moins;"}}<span class="flyspell-duplicate">else</span>{if(<span class="flyspell-duplicate">member</span>(Z[0],F)==0){ - if(<span class="flyspell-duplicate">sign</span>(<span class="flyspell-duplicate">fp</span>((Z[0]+10^(-10))))==1){"plus;"}<span class="flyspell-duplicate">else</span>{"moins;"}}<span class="flyspell-duplicate">else</span>{"<span class="flyspell-duplicate">nonDefBarre</span>;"+ - if(<span class="flyspell-duplicate">sign</span>(<span class="flyspell-duplicate">fp</span>(10^(-10)+Z[0]))==1){"plus;"}<span class="flyspell-duplicate">else</span>{"moins;"} }}+if(<span class="flyspell-duplicate">TestS</span>==0){"<span class="flyspell-duplicate">valBarre</span>(<span class="flyspell-duplicate">btex</span><span class="font-latex-math">$ $</span> <span class="flyspell-duplicate">etex</span>);"+ if(<span class="flyspell-duplicate">sign</span>(<span class="flyspell-duplicate">fp</span>(10^(-10)+Z[0]))==1){"plus;"}<span class="flyspell-duplicate">else</span>{"moins;"}}<span class="flyspell-duplicate">else</span>{" "}; +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;"}else{"moins;"}}else{if(member(Z[0],F)==0){ + 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<span class="font-latex-math">$ $</span> etex);"+ if(sign(fp(10^(-10)+Z[0]))==1){"plus;"}else{"moins;"}}<span class="flyspell-duplicate">else</span>{" "}; -if(nz>2){rr:=1; if(nz==NL){for(r:=1; r<=NL-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]-<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]-ao))==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> etex);"}else{" "}+if(TestS==0){if(ksp==1){"plus;"}else{"moins;"}}<span class="flyspell-duplicate">else</span>{" "}; + lsp:=lsp+if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+ + if(ksp==1){"plus;"}else{"moins;"}+if(<span class="flyspell-duplicate">TestS</span>==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]-<span class="flyspell-duplicate">ao</span>))==0.0); +else{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); 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(TestS==0){if( TestL==1 ){lsp:=lsp}else{lsp:=lsp+if(member(Z[rr],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+ + 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;} }} @@ -330,60 +344,61 @@ if(nz>2){rr:=1; if(nz==NL){for(r:=1; r<=NL-2;r++){ TestS:=(sign(evalf(LL[r -lsf:=if(member(Z[nz-1],F)==0){""}else{"<span class="flyspell-duplicate">nomDefBarre</span>;"} -lm0:=limite(f(x),x=Z[0],1)==-<span class="flyspell-duplicate">infinity</span>; +lsf:=if(member(Z[nz-1],F)==0){""}else{"nomDefBarre;"} +lm0:=limite(f(x),x=Z[0],1)==-infinity; 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:="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>);"+ - 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> <span class="flyspell-duplicate">etex</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> 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> 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(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(<span class="flyspell-duplicate">evalf</span>(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);"}<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);"}else{"0);"}} - else{"valPos(<span class="flyspell-duplicate">btex</span> <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);"}<span class="flyspell-duplicate">else</span>{if(krp==1){"1);"}else{"0);"}}}+if(TestS==0){"valPos(<span class="flyspell-duplicate">btex</span> - <span class="font-latex-math">$ "+ao+" $</span> <span class="flyspell-duplicate">etex</span>,0.5);" + 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(<span class="flyspell-duplicate">TestS</span>==0){"valPos(btex + <span class="font-latex-math">$ "+ao+" $</span> etex,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(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-<span class="flyspell-duplicate">ao</span>))==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)) ; + krm:=evalf(limite(f(x),x=Z[rr-1],1))< evalf(limite(f(x),x=Z[rr],-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);"}<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);"}} + "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> - <span class="font-latex-math">$ "+ao+" $</span> <span class="flyspell-duplicate">etex</span>,0.5); + 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> etex,0.5); ";rr:=<span class="flyspell-duplicate">rr</span>+1; -}// else <span class="flyspell-incorrect">testL</span>==1 -}//<span class="flyspell-duplicate">testS</span>==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);"}else{"0);"}} +}// else testL==1 +}//testS==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);"}else{"0);"}} else{"valPos(btex <span class="font-latex-math">$"+latex(simplifier(f(Z[rr])))+"$</span> - etex,"+if(sign(<span class="flyspell-duplicate">evalf</span>(fp(Z[rr]-0.01)))==sign(fp(Z[rr]+0.01))){"0.5);"}else{if(krp==1){"1);"}<span class="flyspell-duplicate">else</span>{"0); + 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:=<span class="flyspell-duplicate">rr</span>+1; -}//else <span class="flyspell-duplicate">testS</span>==0 -}//for nz<<span class="flyspell-duplicate">NL</span> -}// else nz<<span class="flyspell-duplicate">NL</span> +}//else testS==0 +}//for nz<NL +}// else nz<NL //if nz=NL };//if <span class="flyspell-duplicate">nz</span>>2 -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{"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);"}; +lnz:=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{"nonDefBarre;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);"}else{"0);"}; -<span class="flyspell-duplicate">intro</span>:=" -input <span class="flyspell-duplicate">tableauVariation</span>; +intro:=" +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> @@ -391,40 +406,44 @@ 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> + etex "; -<span class="flyspell-duplicate">MetaL</span>:= if(ftt==0){if(nz>2){intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +<span class="flyspell-duplicate">MetaL</span>:= if(ftt==0){if(nz>2){intro+"beginTableau("+nmr+")"+ l0+ li+ -<span class="flyspell-duplicate">lp</span>+ -<span class="flyspell-duplicate">lf</span> -+"endTableau; -<span class="flyspell-duplicate">end</span>";}else{intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +lp+ +lf ++" +<span class="flyspell-duplicate">endTableau</span>; +end";}else{intro+"beginTableau("+nmr+")"+ l0+ li+ -<span class="flyspell-duplicate">lf</span> -+"endTableau; -<span class="flyspell-duplicate">end</span>";}}else{ -if(nz>2){intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +lf ++" +<span class="flyspell-duplicate">endTableau</span>; +end";}}else{ +if(nz>2){intro+"beginTableau("+nmr+")"+ l0+ -<span class="flyspell-duplicate">lsi</span>+lsp+lsf+ +lsi+lsp+lsf+ li+ <span class="flyspell-duplicate">lp</span>+ -<span class="flyspell-duplicate">lf</span> -+"endTableau; -<span class="flyspell-duplicate">end</span>";}else{intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +lf ++" +endTableau; +end";}else{intro+"beginTableau("+nmr+")"+ l0+ <span class="flyspell-duplicate">lsi</span>+lsf+ li+ -<span class="flyspell-duplicate">lf</span> -+"endTableau; +lf ++" +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>); }:; @@ -441,7 +460,7 @@ li+ <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTabSignL.meta} -<span class="flyspell-duplicate">TS</span>(L,nmr):={ +TS(L,nmr):={ L:=apply(f->unapply(f,x),L) n:=size(L); Z:=<span class="flyspell-duplicate">NULL</span>; @@ -453,36 +472,38 @@ pour k de 0 jusque n-1 faire Z:=Z,simplifier(S[j]); <span class="flyspell-duplicate">fpour</span>; fsi; -<span class="flyspell-duplicate">fpour</span>; +fpour; Z:=sort(Z); -<span class="flyspell-duplicate">nz</span>:=size(Z); +nz:=size(Z); 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>; +fpour; nz:=size(Z); l0:=" ";li:=" ";lr:=" "; -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>; +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>; -for(p:=0;p<=n-1;p++){<span class="flyspell-duplicate">lp</span>:=" "; - li:=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 de }\\atop{\\displaystyle \\Mathbold{"+latex(L[p](x))+"}}$</span> etex);"+ +for(p:=0;p<=n-1;p++){lp:=" "; + li:=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 de }\\atop{\\displaystyle \\Mathbold{"+latex(L[p](x))+"}}$</span> <span class="flyspell-duplicate">etex</span>);"+ if(L[p](Z[0]-1.0)>0){"plus;"}else{"moins;"}+ for(r:=0; r<=nz-2;r++){ lp:=lp+if(simplifier(L[p](Z[r]))==0){"valBarre(btex 0 etex);"}else{"barre;"}+ if(L[p]((Z[r]+Z[r+1])*.5)>0){"plus;"}else{"moins;"}}+ 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(L[p](Z[nz-1]+1.0)>0){"plus;"}else{"moins; + "} }; 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>);" - fpour + lr:=lr+if(product(L[s]((Z[t]+Z[t+1])*.5),s,0,n-1)>0){"plus;"}else{"moins;"}+"valBarre(btex 0 etex);" + <span class="flyspell-duplicate">fpour</span> -<span class="flyspell-duplicate">MetaL</span>:=" input <span class="flyspell-duplicate">tableauVariation</span>; - <span class="flyspell-duplicate">verbatimtex</span> +MetaL:=" 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> @@ -491,18 +512,18 @@ 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("+nmr+") -<span class="flyspell-duplicate">newLigneVariables</span>(btex <span class="font-latex-math">$\\Mathbold{x}$</span> etex); - val(btex <span class="font-latex-math">$-\\infty$</span> etex);"+l0+"val(btex <span class="font-latex-math">$+\\infty$</span> <span class="flyspell-duplicate">etex</span>);"+ +newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> <span class="flyspell-duplicate">etex</span>); + val(btex <span class="font-latex-math">$-\\infty$</span> etex);"+l0+"val(btex <span class="font-latex-math">$+\\infty$</span> etex);"+ 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> etex);"+ - if(product(L[s](Z[0]-1.0),s,0,n-1)>0){"plus;"}else{"moins;"}+"valBarre(btex 0 <span class="flyspell-duplicate">etex</span>);"+ + if(product(L[s](Z[0]-1.0),s,0,n-1)>0){"plus;"}else{"moins;"}+"valBarre(btex 0 etex);"+ lr+ if(product(L[s](Z[nz-1]+1.0),s,0,n-1)>0){"plus;"}else{"moins;"}+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; <span class="flyspell-duplicate">end</span>" ; -return(<span class="flyspell-duplicate">MetaL</span>); +return(MetaL); }:; <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> @@ -515,9 +536,9 @@ return(<span class="flyspell-duplicate">MetaL</span>); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTabSignQ.meta} -<span class="flyspell-duplicate">TSq</span>(nomf,L,Fo,nmr):={ +TSq(nomf,L,Fo,nmr):={ L:=apply(f->unapply(f,x),L); -<span class="flyspell-duplicate">Fo</span>:=apply(f->unapply(f,x),Fo); +Fo:=apply(f->unapply(f,x),Fo); L:=concat(L,Fo); n:=size(L); Z:=NULL; @@ -532,7 +553,7 @@ pour k de 0 jusque n-1 faire Z:=Z,simplifier(S[j]); <span class="flyspell-duplicate">fpour</span>; fsi; -<span class="flyspell-duplicate">fpour</span>; +fpour; pour k de 0 jusque m-1 faire @@ -551,18 +572,20 @@ 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; fpour; -<span class="flyspell-duplicate">nz</span>:=size(Z); +nz:=size(Z); l0:=" ";li:=" ";lr:=" "; -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>; +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>); +";fpour; for(p:=0;p<=n-1;p++){lp:=" "; - li:=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 de }\\atop{\\displaystyle \\Mathbold{"+latex(L[p](x))+"}}$</span> <span class="flyspell-duplicate">etex</span>);"+ + 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(L[p](Z[0]-1.0)>0){"plus;"}else{"moins;"}+ for(r:=0; r<=nz-2;r++){ lp:=lp+if(simplifier(L[p](Z[r]))==0){" - <span class="flyspell-duplicate">valBarre</span>(btex 0 etex);"}else{"barre;"}+ + valBarre(btex 0 etex);"}else{"barre;"}+ if(L[p]((Z[r]+Z[r+1])*.5)>0){"plus;"}else{"moins;"}}+ 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; @@ -571,10 +594,10 @@ for(p:=0;p<=n-1;p++){lp:=" "; 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],F)==0){"valBarre(btex 0 etex);"}else{"<span class="flyspell-duplicate">nonDefBarre</span>;"} + 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],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"} 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> @@ -584,16 +607,16 @@ 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("+nmr+") -<span class="flyspell-duplicate">newLigneVariables</span>(btex <span class="font-latex-math">$\\Mathbold{x}$</span> etex); - val(btex <span class="font-latex-math">$-\\infty$</span> etex);"+l0+"val(btex <span class="font-latex-math">$+\\infty$</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);"+l0+"val(btex <span class="font-latex-math">$+\\infty$</span> etex);"+ 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 de }\\atop{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> "+nomf+"(x) }$</span> etex);"+ - if(product(L[s](Z[0]-1.0),s,0,n-1)>0){"plus;"}else{"moins;"}+if(member(Z[0],F)==0){"valBarre(btex 0 etex);"}else{"<span class="flyspell-duplicate">nonDefBarre</span>;"}+ + if(product(L[s](Z[0]-1.0),s,0,n-1)>0){"plus;"}else{"moins;"}+if(member(Z[0],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+ lr+ if(product(L[s](Z[nz-1]+1.0),s,0,n-1)>0){"plus;"}else{"moins;"}+" -<span class="flyspell-duplicate">endTableau</span>; -<span class="flyspell-duplicate">end</span>" +endTableau; +end" ; return(<span class="flyspell-duplicate">MetaL</span>); }:; @@ -602,50 +625,52 @@ 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>{XcasTabSign.meta} -<span class="flyspell-duplicate">TSa</span>(a,b,c,d,nmr):={ -zA:=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,zB); -<span class="flyspell-duplicate">zmax</span>:=max(zA,zB); - Meta:= " input <span class="flyspell-duplicate">tableauVariation</span>; - verbatimtex +TSa(a,b,c,d,nmr):={ +<span class="flyspell-duplicate">zA</span>:=resoudre(a*x+b=0,x)[0]; +zB:=resoudre(c*x+d=0,x)[0]; +zmin:=min(zA,zB); +zmax:=max(zA,zB); + Meta:= " 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> <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> - beginTableau("+<span class="flyspell-duplicate">nmr</span>+") - newLigneVariables(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); 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> 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> <span class="flyspell-duplicate">etex</span>);" +val(btex <span class="font-latex-math">$+\\infty$</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{"+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;";fsi} - else{si a>0 alors "moins;"; sinon "plus;"; <span class="flyspell-duplicate">fsi</span>}+ + else{si a>0 alors "moins;"; sinon "plus;"; fsi}+ if(zmin==zA){"barre;"}else{"valBarre(btex 0 etex);"}+ if(a>0){"plus;"}else{"moins;"} - +" 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(c==1){"x+"}else{if(c==-1){"-x+"}else{c+"x+"}}+d+"}}$</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{"+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;"} - +" 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> <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{("+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> <span class="flyspell-duplicate">etex</span>);" + si a*c>0 alors plus; sinon moins;fsi+";"+ - "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+";"+" endTableau; <span class="flyspell-duplicate">end</span>" ; -<span class="flyspell-duplicate">return</span>(<span class="flyspell-duplicate">Meta</span>); +return(Meta); }:; <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> @@ -653,22 +678,22 @@ endTableau; <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCas.in} -<span class="flyspell-duplicate">maple</span>_mode(0); +maple_mode(0); read("XcasTabSign.meta"); Sortie:=fopen("XCasmp.mp"); vect.xcas.out := read("XCas.out"); -<span class="flyspell-duplicate">vxo</span> := vect.xcas.out; -<span class="flyspell-duplicate">dim</span>.vxo := dim(vxo); -<span class="flyspell-duplicate">nbr</span>.line.vxo := dim.vxo; +vxo := vect.xcas.out; +dim.vxo := dim(vxo); +nbr.line.vxo := dim.vxo; Resultat:=cat(" "); <span class="flyspell-duplicate">rslt</span> := vxo[0]; RslT:=cat(rslt); -Resultat:=cat(Resultat,RslT); +<span class="flyspell-duplicate">Resultat</span>:=cat(Resultat,RslT); <span class="flyspell-duplicate">fprint</span>(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">{TSa}</span> -{<span class="font-latex-sedate">\stepcounter</span>{TVn}<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCas.out}} +<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">\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.out}} {<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.in} @@ -677,27 +702,27 @@ Resultat:=cat(Resultat,RslT); <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>} <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>{XCasQ.in} -<span class="flyspell-duplicate">maple</span>_mode(0); -<span class="flyspell-duplicate">read</span>("XcasTabSignQ.meta"); +maple_mode(0); +read("XcasTabSignQ.meta"); Sortie:=fopen("XCasmpQ.mp"); <span class="flyspell-duplicate">vect</span>.xcas.out := read("XCasQ.out"); -vxo := vect.xcas.out; +<span class="flyspell-duplicate">vxo</span> := vect.xcas.out; <span class="flyspell-duplicate">dim</span>.vxo := dim(vxo); -<span class="flyspell-duplicate">nbr</span>.line.vxo := dim.vxo; -<span class="flyspell-duplicate">Resultat</span>:=cat(" "); -<span class="flyspell-duplicate">rslt</span> := vxo[0]; RslT:=cat(rslt); +nbr.line.vxo := dim.vxo; +Resultat:=cat(" "); +rslt := vxo[0]; RslT:=cat(rslt); <span class="flyspell-duplicate">Resultat</span>:=cat(Resultat,RslT); -fprint(Sortie,Unquoted,Resultat); +<span class="flyspell-duplicate">fprint</span>(Sortie,Unquoted,Resultat); <span class="flyspell-duplicate">fclose</span>(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">TSq</span></span><span class="function-name">}</span> -{<span class="font-latex-sedate">\stepcounter</span>{TVn}<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasQ.out}} +{<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.out}} {<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.in} @@ -706,28 +731,28 @@ fprint(Sortie,Unquoted,Resultat); <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">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasL.in} -<span class="flyspell-duplicate">maple</span>_mode(0); -<span class="flyspell-duplicate">read</span>("XcasTabSignL.meta"); +maple_mode(0); +read("XcasTabSignL.meta"); Sortie:=fopen("XCasmpL.mp"); <span class="flyspell-duplicate">vect</span>.xcas.out := read("XCasL.out"); -vxo := vect.xcas.out; +<span class="flyspell-duplicate">vxo</span> := vect.xcas.out; <span class="flyspell-duplicate">dim</span>.vxo := dim(vxo); -<span class="flyspell-duplicate">nbr</span>.line.vxo := dim.vxo; -<span class="flyspell-duplicate">Resultat</span>:=cat(" "); -<span class="flyspell-duplicate">rslt</span> := vxo[0]; RslT:=cat(rslt); +nbr.line.vxo := dim.vxo; +Resultat:=cat(" "); +rslt := vxo[0]; RslT:=cat(rslt); <span class="flyspell-duplicate">Resultat</span>:=cat(Resultat,RslT); -fprint(Sortie,Unquoted,Resultat); +<span class="flyspell-duplicate">fprint</span>(Sortie,Unquoted,Resultat); <span class="flyspell-duplicate">fclose</span>(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">TS</span></span><span class="function-name">}</span> -{<span class="font-latex-sedate">\stepcounter</span>{TVn}<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasL.out}} +{<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.out}} {<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.in} @@ -736,7 +761,7 @@ fprint(Sortie,Unquoted,Resultat); <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>} } @@ -746,59 +771,58 @@ fprint(Sortie,Unquoted,Resultat); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasTV.in} <span class="flyspell-duplicate">maple</span>_mode(0); -read("XcasTV.meta"); +<span class="flyspell-duplicate">read</span>("XcasTV.meta"); Sortie:=fopen("XCasmpTV.mp"); -<span class="flyspell-duplicate">vect</span>.xcas.out := read("XCasTV.out"); -<span class="flyspell-duplicate">vxo</span> := vect.xcas.out; -<span class="flyspell-duplicate">dim</span>.vxo := dim(vxo); +vect.xcas.out := read("XCasTV.out"); +vxo := vect.xcas.out; +dim.vxo := dim(vxo); <span class="flyspell-duplicate">nbr</span>.line.vxo := dim.vxo; -Resultat:=cat(" "); +<span class="flyspell-duplicate">Resultat</span>:=cat(" "); <span class="flyspell-duplicate">rslt</span> := vxo[0]; RslT:=cat(rslt); -<span class="flyspell-duplicate">Resultat</span>:=cat(Resultat,<span class="flyspell-duplicate">RslT</span>); +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="font-latex-sedate">\stepcounter</span>{TVn}<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasTV.out}} -{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> - <span class="font-latex-sedate">\executGiacmp</span>{XCasTV.in} +<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.out}}<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.in} <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{mpost <span class="flyspell-duplicate">XCasmpTV</span>} - <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>{<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-incorrect">XCasTVI</span>.in} +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasTVI.in} maple_mode(0); -<span class="flyspell-duplicate">read</span>("<span class="flyspell-duplicate">XcasTVI</span>.<span class="flyspell-duplicate">meta</span>"); -Sortie:=<span class="flyspell-duplicate">fopen</span>("<span class="flyspell-incorrect">XCasmpTVI</span>.mp"); -<span class="flyspell-duplicate">vect</span>.xcas.out := read("<span class="flyspell-duplicate">XCasTVI</span>.out"); +<span class="flyspell-duplicate">read</span>("XcasTVI.meta"); +Sortie:=fopen("XCasmpTVI.mp"); +<span class="flyspell-duplicate">vect</span>.xcas.out := read("XCasTVI.out"); vxo := vect.xcas.out; dim.vxo := dim(<span class="flyspell-duplicate">vxo</span>); nbr.line.vxo := dim.<span class="flyspell-duplicate">vxo</span>; -<span class="flyspell-duplicate">Resultat</span>:=<span class="flyspell-duplicate">cat</span>(" "); -rslt := vxo[0]; RslT:=cat(<span class="flyspell-duplicate">rslt</span>); +Resultat:=<span class="flyspell-duplicate">cat</span>(" "); +rslt := vxo[0]; RslT:=cat(rslt); <span class="flyspell-duplicate">Resultat</span>:=cat(Resultat,<span class="flyspell-duplicate">RslT</span>); -fprint(Sortie,Unquoted,Resultat); -fclose(Sortie); +fprint(Sortie,Unquoted,<span class="flyspell-duplicate">Resultat</span>); +<span class="flyspell-duplicate">fclose</span>(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">TVI</span></span><span class="function-name">}</span> -{<span class="font-latex-sedate">\stepcounter</span>{TVn}<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">XCasTVI</span>.out}} -{<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">XCasTVI</span>.in} - - <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{mpost <span class="flyspell-duplicate">XCasmpTVI</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">TVI</span></span><span class="function-name">}</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>[<span class="flyspell-duplicate">commandchars</span>=<span class="font-latex-warning">\\</span>£µ]{XCasTVI.out}}<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.in} + <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="flyspell-duplicate">mpost</span> 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>{<span class="flyspell-duplicate">XCasmpTVI</span>.<span class="font-latex-sedate">\theTVn</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>} } @@ -806,6 +830,7 @@ fclose(Sortie); + <span class="comment-delimiter">%%</span><span class="comment"> </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> diff --git a/Master/texmf-dist/doc/latex/tablor/tablor.pdf b/Master/texmf-dist/doc/latex/tablor/tablor.pdf Binary files differnew file mode 100644 index 00000000000..e97809a956e --- /dev/null +++ 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 6e198239a9f..ca2fe635dbb 100644 --- a/Master/texmf-dist/doc/latex/tablor/Tablor.tex +++ b/Master/texmf-dist/doc/latex/tablor/tablor.tex @@ -23,7 +23,7 @@ keywordstyle =\color{0.2white}\usefont{OT1}{cmtt}{b}{n},basicstyle=\ttfamily,com \author{Guillaume \textsc{Connan} \\ \href{http://gconnan.free.fr}{http://gconnan.free.fr}} -\date{17 janvier 2008 - Version 1.2} +\date{21 janvier 2008 - Version 1.3} \begin{document} @@ -74,7 +74,9 @@ pour installer une nouvelle extension \LaTeX{}. \item il faut avoir à disposition l'extension \texttt{fancyvrb}; \item pour ceux qui compilent avec \texttt{pdf\LaTeX{}}, il faut avoir effectué les petits réglages - nécessaires à l'utilisation de figures produites par \texttt{MetaPOST}; + nécessaires à l'utilisation de figures produites par \texttt{MetaPOST}. Pour cela, il suffit de + rajouter dans le préambule~:\\ + \verb+\DeclareGraphicsRule{*}{mps}{*}{}+ \item il faut enfin installer le fichier \texttt{tablor.sty} dans son \texttt{texmf} personnel. @@ -103,6 +105,15 @@ Le séparateur est le point virgule. \bigskip + L'extension \verb+fancybox+ rentre en conflit avec \verb+fancyvrb+ qu'utilise + \verb+tablor+ car elles définissent toutes deux différemment l'environnement \verb+VerbatimOut+. + +\bigskip + +Quatre nouvelles commandes sont crées~:~\verb+\tv, \nettoyer, \bouger, \recup,\executGiacmp+. + Attention aux conflits si de tels noms exustent quelque part dans vos + fichiers personnels. + \section{Comment l'utiliser~?} @@ -128,7 +139,7 @@ L'environnement s'appelle \texttt{TV}. On utilise une commande au format \texttt %\xcas \begin{lstlisting} -TV([borne inf,borne sup],[valeurs interdites],"nom fonction","nom variable",expression en fonction de x,t,numero du tableau) +TV([borne inf,borne sup],[valeurs interdites],"nom fonction","nom variable",expression en fonction de x,t,\tv) \end{lstlisting} \begin{itemize} @@ -145,9 +156,7 @@ TV([borne inf,borne sup],[valeurs interdites],"nom fonction","nom variable",expr ici toujours $x$ pour désigner la variable; \item le paramètre \texttt{t} est à remplacer par 1 si vous voulez voir apparaître une ligne avec le signe de la dérivée et par 0 si vous ne voulez pas de cette ligne. -\item le \texttt{numero du tableau}, comme son nom l'indique, nécessite de numéroter dans l'ordre - les tableaux créés par \texttt{tablor} dans votre document en commençant à un. La navigation entre - \texttt{\LaTeX{}}, \texttt{MetaPOST}, \texttt{XCAS}, le \texttt{shell} complique un peu la gestion des compteurs... +\item on termine par \verb+\tv+, une commande permettant de numéroter les tableaux en interne. \end{itemize} \lat @@ -159,14 +168,14 @@ Voyons à présent quelques exemples. \begin{lstlisting} \begin{TV} -TV([-5,7],[],"f","x",x^2,0,1) +TV([-5,7],[],"f","x",x^2,0,\tv) \end{TV} \end{lstlisting} et on obtient~: \begin{TV} -TV([-5,7],[],"f","x",x^2,0,1) +TV([-5,7],[],"f","x",x^2,0,\tv) \end{TV} @@ -176,19 +185,19 @@ TV([-5,7],[],"f","x",x^2,0,1) \begin{lstlisting} \begin{TV} -TV([-infinity,+infinity],[],"f","x",x^2,1,2) +TV([-infinity,+infinity],[],"f","x",x^2,1,\tv) \end{TV} \end{lstlisting} \begin{TV} -TV([-infinity,+infinity],[],"f","x",x^2,1,2) +TV([-infinity,+infinity],[],"f","x",x^2,1,\tv) \end{TV} \item Voici ce que cela donne pour $g~:~t\mapsto \frac{t^2}{t^2-1}$ sur $[-10; +\infty[$~: \begin{lstlisting} \begin{TV} -TV([-10,+infinity],[-1,1],"g","t",x^2/(x^2-1),1,3) +TV([-10,+infinity],[-1,1],"g","t",x^2/(x^2-1),1,\tv) \end{TV} \end{lstlisting} @@ -196,7 +205,7 @@ TV([-10,+infinity],[-1,1],"g","t",x^2/(x^2-1),1,3) \begin{TV} -TV([-10,+infinity],[-1,1],"g","t",x^2/(x^2-1),1,3) +TV([-10,+infinity],[-1,1],"g","t",x^2/(x^2-1),1,\tv) \end{TV} \end{center} @@ -225,7 +234,7 @@ Par exemple, pour $f~:~x\mapsto \frac{x^2}{x^2-1}$ et l'équation $f(x)=10$ on en \begin{lstlisting} \begin{TVI} -TVI([-10,+infinity],[-1,1],"f","x",x^2/(x^2-1),1,10,4) +TVI([-10,+infinity],[-1,1],"f","x",x^2/(x^2-1),1,10,\tv) \end{TVI} \end{lstlisting} @@ -233,7 +242,7 @@ TVI([-10,+infinity],[-1,1],"f","x",x^2/(x^2-1),1,10,4) et on obtient~: \begin{TVI} -TVI([-10,+infinity],[-1,1],"f","x",x^2/(x^2-1),1,10,4) +TVI([-10,+infinity],[-1,1],"f","x",x^2/(x^2-1),1,10,\tv) \end{TVI} Les solutions sont notées $\alpha_1$, $\alpha_2$, etc. @@ -243,7 +252,7 @@ Si l'équation est plutôt $f(x)=-1$~: \begin{lstlisting} \begin{TVI} -TVI([-10,+infinity],[-1,1],"f","x",x^2/(x^2-1),1,-1,5) +TVI([-10,+infinity],[-1,1],"f","x",x^2/(x^2-1),1,-1,\tv) \end{TVI} \end{lstlisting} @@ -251,7 +260,7 @@ TVI([-10,+infinity],[-1,1],"f","x",x^2/(x^2-1),1,-1,5) et on obtient~: \begin{TVI} -TVI([-10,+infinity],[-1,1],"f","x",x^2/(x^2-1),1,-1,5) +TVI([-10,+infinity],[-1,1],"f","x",x^2/(x^2-1),1,-1,\tv) \end{TVI} @@ -264,15 +273,15 @@ Pour étudier le signe de $(-2x+3)(-x+5)$, on entre~: \begin{lstlisting} \begin{TSa} - TSa(-2,3,-1,5,6); + TSa(-2,3,-1,5,\tv); \end{TSa} \end{lstlisting} -Le 6 correspond au numéro du tableau dans le document. On obtient~: +On obtient~: \begin{TSa} -TSa(-2,3,-1,5,6); +TSa(-2,3,-1,5,\tv); \end{TSa} \subsubsection*{Cas du produit d'un nombre quelconque de facteurs quelconques} @@ -284,15 +293,15 @@ Certains cas pathologiques ne vont pas fonctionner, mais sinon, pour ét \begin{lstlisting} \begin{TS} - TS([-2*x+3,x^2-1,x^2+1,x-1,x^2-2],7); + TS([-2*x+3,x^2-1,x^2+1,x-1,x^2-2],\tv); \end{TS} \end{lstlisting} -Le 7 correspond au numéro du tableau dans le document. On obtient~: + On obtient~: \begin{TS} - TS([-2*x+3,x^2-1,x^2+1,x-1,x^2-2],7); + TS([-2*x+3,x^2-1,x^2+1,x-1,x^2-2],\tv); \end{TS} @@ -312,7 +321,7 @@ Par exemple, pour étudier le signe de $\dfrac{(-2x+3)(-4x+5)}{(x^2-16)(x-2)}$~: \begin{lstlisting} \begin{TSq} -TSq("Q",[-2*x+3,-4*x+5],[x^2-16,x-2],8) +TSq("Q",[-2*x+3,-4*x+5],[x^2-16,x-2],\tv) \end{TSq} \end{lstlisting} @@ -320,7 +329,7 @@ TSq("Q",[-2*x+3,-4*x+5],[x^2-16,x-2],8) \begin{TSq} -TSq("Q",[-2*x+3,-4*x+5],[x^2-16,x-2],8) +TSq("Q",[-2*x+3,-4*x+5],[x^2-16,x-2],\tv) \end{TSq} \section{Nettoyage} @@ -368,7 +377,7 @@ On peut également stocker les tableaux dans un autre dossier \end{itemize} -\pagebreak + \section{Galerie} @@ -376,126 +385,131 @@ Voici quelques exemples de tableaux~: \begin{lstlisting} \begin{TVI} -TVI([-1,+infinity],[-1],"f","x",x^2/sqrt(x+1)-1,1,2,9) +TVI([-1,+infinity],[-1],"f","x",x^2/sqrt(x+1)-1,1,2,\tv) \end{TVI} \end{lstlisting} \begin{TVI} -TVI([-1,+infinity],[-1],"f","x",x^2/sqrt(x+1)-1,1,2,9) +TVI([-1,+infinity],[-1],"f","x",x^2/sqrt(x+1)-1,1,2,\tv) \end{TVI} \begin{lstlisting} \begin{TVI} -TVI([-1/2,+infinity],[],"f","x",x^2,1,2,10) +TVI([-1/2,+infinity],[],"f","x",x^2,1,2,\tv) \end{TVI} \end{lstlisting} \begin{TVI} -TVI([-1/2,+infinity],[],"f","x",x^2,1,2,10) +TVI([-1/2,+infinity],[],"f","x",x^2,1,2,\tv) \end{TVI} \begin{lstlisting} \begin{TVI} -TVI([0,+infinity],[0],"f","x",ln(x),1,2,11) +TVI([0,+infinity],[0],"f","x",ln(x),1,2,\tv) \end{TVI} \end{lstlisting} \begin{TVI} -TVI([0,+infinity],[0],"f","x",ln(x),1,2,11) +TVI([0,+infinity],[0],"f","x",ln(x),1,2,\tv) \end{TVI} \begin{lstlisting} \begin{TV} -TV([1,+infinity],[],"f","x",-ln(x),1,12) +TV([1,+infinity],[],"f","x",-ln(x),1,\tv) \end{TV} \end{lstlisting} \begin{TV} -TV([1,+infinity],[],"f","x",-ln(x),1,12) +TV([1,+infinity],[],"f","x",-ln(x),1,\tv) \end{TV} \begin{lstlisting} \begin{TVI} -TVI([-pi,pi],[],"f","x",cos(x),1,1/2,13) +TVI([-pi,pi],[],"f","x",cos(x),1,1/2,\tv) \end{TVI} \end{lstlisting} \begin{TVI} -TVI([-pi,pi],[],"f","x",cos(x),1,1/2,13) +TVI([-pi,pi],[],"f","x",cos(x),1,1/2,\tv) \end{TVI} \begin{lstlisting} \begin{TV} -TV([0,2*pi],[],"f","x",cos(x),1,14) +TV([0,2*pi],[],"f","x",cos(x),1,\tv) \end{TV} \end{lstlisting} \begin{TV} -TV([0,2*Pi],[],"f","x",cos(x),1,14) +TV([0,2*Pi],[],"f","x",cos(x),1,\tv) \end{TV} -\fbox{ Il y aura des problèmes si vous demandez un tableau des variations d'une fonction + +\begin{figure} + \begin{DANGER} + Il y aura des problèmes si vous demandez un tableau des variations d'une fonction périodique sur un intervalle - d'amplitude supérieure à la période, mais est-ce vraiment utile ?...} + d'amplitude supérieure à la période, mais est-ce vraiment utile ?... + \end{DANGER} + \end{figure} \begin{lstlisting} \begin{TVI} -TVI([0,pi],[pi/2],"h","t",tan(x),1,7,15) +TVI([0,pi],[pi/2],"h","t",tan(x),1,7,\tv) \end{TVI} \end{lstlisting} \begin{TVI} -TVI([0,pi],[pi/2],"h","t",tan(x),1,7,15) +TVI([0,pi],[pi/2],"h","t",tan(x),1,7,\tv) \end{TVI} \begin{lstlisting} \begin{TVI} -TVI([-1,1],[],"f","x",(1-x)*sqrt(1-x^2),1,1,16) +TVI([-1,1],[],"f","x",(1-x)*sqrt(1-x^2),1,1,\tv) \end{TVI} \end{lstlisting} \begin{TVI} -TVI([-1,1],[],"f","x",(1-x)*sqrt(1-x^2),1,1,16) +TVI([-1,1],[],"f","x",(1-x)*sqrt(1-x^2),1,1,\tv) \end{TVI} \begin{lstlisting} \begin{TV} -TV([-1,+infinity],[-1],"f","x",ln(1+x)-(x-x^2/2+x^3/3),1,17) +TV([-1,+infinity],[-1],"f","x",ln(1+x)-(x-x^2/2+x^3/3),1,\tv) \end{TV} \end{lstlisting} \begin{TV} -TV([-1,+infinity],[-1],"f","x",ln(1+x)-(x-x^2/2+x^3/3),1,17) +TV([-1,+infinity],[-1],"f","x",ln(1+x)-(x-x^2/2+x^3/3),1,\tv) \end{TV} \begin{lstlisting} \begin{TS} -TS([-2*x+3,x-1,x+1,x^2+3*x+1],18); +TS([-2*x+3,x-1,x+1,x^2+3*x+1],\tv); \end{TS} \end{lstlisting} \begin{TS} -TS([-2*x+3,x-1,x+1,x^2+3*x+1],18); +TS([-2*x+3,x-1,x+1,x^2+3*x+1],\tv); \end{TS} \begin{lstlisting} \begin{TVI} -TVI([-infinity,+infinity],[],"f","x",(x+2)*exp(x-1)-1,1,0,19) +TVI([-infinity,+infinity],[],"f","x",(x+2)*exp(x-1)-1,1,0,\tv) \end{TVI} \end{lstlisting} \begin{TVI} -TVI([-infinity,+infinity],[],"f","x",(x+2)*exp(x-1)-1,1,0,19) +TVI([-infinity,+infinity],[],"f","x",(x+2)*exp(x-1)-1,1,0,\tv) \end{TVI} @@ -503,12 +517,12 @@ TVI([-infinity,+infinity],[],"f","x",(x+2)*exp(x-1)-1,1,0,19) \begin{lstlisting} \begin{TVI} -TVI([-infinity,+infinity],[],"f","x",1+(-2*x+1)*exp(2*x),1,0,20) +TVI([-infinity,+infinity],[],"f","x",1+(-2*x+1)*exp(2*x),1,0,\tv) \end{TVI} \end{lstlisting} \begin{TVI} -TVI([-infinity,+infinity],[],"f","x",1+(-2*x+1)*exp(2*x),1,0,20) +TVI([-infinity,+infinity],[],"f","x",1+(-2*x+1)*exp(2*x),1,0,\tv) \end{TVI} @@ -516,12 +530,12 @@ TVI([-infinity,+infinity],[],"f","x",1+(-2*x+1)*exp(2*x),1,0,20) \begin{lstlisting} \begin{TV} -TV([0,+infinity],[],"f","x",ln(exp(x)+x)-x,1,21) +TV([0,+infinity],[],"f","x",ln(exp(x)+x)-x,1,\tv) \end{TV} \end{lstlisting} \begin{TV} -TV([0,+infinity],[],"f","x",ln(exp(x)+x)-x,1,21) +TV([0,+infinity],[],"f","x",ln(exp(x)+x)-x,1,\tv) \end{TV} @@ -530,22 +544,24 @@ TV([0,+infinity],[],"f","x",ln(exp(x)+x)-x,1,21) \begin{lstlisting} \begin{TVI} -TVI([0,pi],[],"f","x",cos(x)-x,1,0,22) +TVI([0,pi],[],"f","x",cos(x)-x,1,0,\tv) \end{TVI} \end{lstlisting} \begin{TVI} -TVI([0,pi],[],"f","x",cos(x)-x,1,0,22) +TVI([0,pi],[],"f","x",cos(x)-x,1,0,\tv) \end{TVI} \begin{lstlisting} \begin{TVI} -TVI([0,+infinity],[0],"f","x",ln(x)-(ln(x))^2,1,-1,23) +TVI([0,+infinity],[0],"f","x",ln(x)-(ln(x))^2,1,-1,\tv) \end{TVI} \end{lstlisting} + + \begin{TVI} -TVI([0,+infinity],[0],"f","x",ln(x)-(ln(x))^2,1,-1,23) +TVI([0,+infinity],[0],"f","x",ln(x)-(ln(x))^2,1,-1,\tv) \end{TVI} diff --git a/Master/texmf-dist/tex/latex/tablor/tablor.sty b/Master/texmf-dist/tex/latex/tablor/tablor.sty index fa48fb7905c..914fa524efa 100644 --- a/Master/texmf-dist/tex/latex/tablor/tablor.sty +++ b/Master/texmf-dist/tex/latex/tablor/tablor.sty @@ -1,7 +1,7 @@ \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesPackage{tablor} - [17/01/2008 v1.2 + [21/01/2008 v1.3 la machine à créer des tableaux de signes et variations] @@ -9,27 +9,27 @@ %% Crée 5 environnements : %% tableau de signes de 2 facteurs affines % \begin{TSa} -% TSa(-2,3,-1,5,1); +% TSa(-2,3,-1,5,\tv); % \end{TSa} % %%%%%% Pour des tableaux de plus de 2 facteurs % % \begin{TS} -% TS([-2*x+3,x^2-1,x^2+1,x-1,x^2-2],2); +% TS([-2*x+3,x^2-1,x^2+1,x-1,x^2-2],\tv); % \end{TS} % % pour les tableaux de signes avec quotient %\begin{TSq} -%TSq("Q",[-2*x+3,-4*x+5],[x^2-16,x-2],3) +%TSq("Q",[-2*x+3,-4*x+5],[x^2-16,x-2],\tv) %%\end{TSq} % un tableau de variation : % % \begin{TV} -% TV([0,+infinity],[0],"h","x",ln(x)-(ln(x))^2,1,4) +% TV([0,+infinity],[0],"h","x",ln(x)-(ln(x))^2,1,\tv) % \end{TV} % % tableau avec valeurs intermédiares %\begin{TVI} -%TVI([-1,+infinity],[-1],"f","x",x2/sqrt(x+1)-1,1,2,1) +%TVI([-1,+infinity],[-1],"f","x",x2/sqrt(x+1)-1,1,2,\tv) %\end{TVI} %%% @@ -37,7 +37,7 @@ \newcommand{\nettoyer}{ \immediate\write18{rm XCasmp.mp* XCasmp.log XCasmp?.mp* XCasmp?.log XCasmpTV.mp* XCasmpTV.log *.out XCasmpTVI.mp* XCasmpTVI.log - *.in *.meta *mpx*}} + *.in *.meta *mpx* *~}} \newcommand{\bouger}[1]{ \immediate\write18{cp XCas* #1}} @@ -50,6 +50,7 @@ \newcounter{TVn} +\newcommand{\tv}{\theTVn} \usepackage{fancyvrb} %\usepackage[upright]{fourier} @@ -83,12 +84,14 @@ pour u de 1 jusque nz-2 faire fpour; nz:=size(Z); l0:=" newLigneVariables(btex $"+nomv+"$ etex);";lp:=" "; lf:=" ";lsp:=" "; -pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex);";fpour; +pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex); +";fpour; 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[nz-2],1)); -lsi:="newLigneSignes(btex $\\hbox{ Signe de }\\atop{\\displaystyle "+nom+"'("+nomv+")}$ 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(sign(fp(Z[0]+10^(-5)))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+ if(sign(fp((Z[0]+10^(-5))))==1){"plus;"}else{"moins;"} }} @@ -98,9 +101,11 @@ if(nz>2){ for(r:=1; r<=nz-2;r++){ ksp:=evalf(fp(Z[r]+0.01))>0; if(ksp==1){"plus;"}else{"moins;"} }; } -lsf:=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; - li:="newLigneVariations(btex $\\hbox{\\bf Variations de }\\atop{\\displaystyle \\Mathbold{"+nom+"}}$ etex);"+ + li:=" +newLigneVariations(btex $\\hbox{\\bf Variations de }\\atop{\\displaystyle \\Mathbold{"+nom+"}}$ etex);"+ if(member(Z[0],F)==0){"valPos(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"} else{"nonDefBarre;limDroite(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"}+ if(k0==1){"1"}else{"0"}+ @@ -111,12 +116,15 @@ lm0:=limite(f(x),x=Z[0],1)==-infinity; 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 $"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}} - else{"valPos(btex $"+latex(simplifier(f(Z[r])))+"$ etex,"+if(sign(evalf(fp(Z[r]-0.01)))==sign(fp(Z[r]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);"}}} + else{"valPos(btex $"+latex(simplifier(f(Z[r])))+"$ + 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)==-infinity; lf:=if(member(Z[nz-1],F)==0){"valPos(btex $"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$ etex,"}else{"nonDefBarre;limGauche(btex $"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$ etex,"}+ - if(kz==1){"1);"}else{"0);"}; + if(kz==1){"1);"}else{"0); +"}; intro:="input tableauVariation; @@ -137,12 +145,14 @@ MetaL:= if(ftt==0){if(nz>2){intro+"beginTableau("+nmr+")"+ li+ lp+ lf -+"endTableau; ++" +endTableau; end";}else{intro+"beginTableau("+nmr+")"+ l0+ li+ lf -+"endTableau; ++" +endTableau; end";}}else{ if(nz>2){intro+"beginTableau("+nmr+")"+ l0+ @@ -150,13 +160,15 @@ lsi+lsp+lsf+ li+ lp+ lf -+"endTableau; ++" +endTableau; end";}else{intro+"beginTableau("+nmr+")"+ l0+ lsi+lsf+ li+ lf -+"endTableau; ++" +endTableau; end";} } @@ -212,7 +224,8 @@ if(NL>nz){for(k:=0;k<NL-1;k++){TestS:=(sign(evalf(LL[k]-ao))==sign(evalf(LL[k+1] TestL:=(abs(LL[k])==abs(LL[k+1])); if(TestS==0){ if( TestL==1 ){l0:=l0}else{ A:=A,aa;l0:=l0+"val(btex $"+latex(Z[kk])+"$ etex);"+"val(btex $\\alpha_"+aa+"$ etex);";aa:=aa+1;kk:=kk+1}}else{l0:=l0+"val(btex $"+latex(Z[kk])+"$ etex);";kk:=kk+1}} -l0:=l0+"val(btex $"+latex(Z[nz-1])+"$ etex);"}; +l0:=l0+"val(btex $"+latex(Z[nz-1])+"$ etex); +"}; @@ -220,7 +233,8 @@ TestS:=(sign(evalf(LL[0]-ao))==sign(evalf(LL[1]-ao))) or (sign(evalf(LL[0]-ao))= 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[nz-2],1)); -lsi:="newLigneSignes(btex $\\hbox{ Signe de }\\atop{\\displaystyle "+nom+"'("+nomv+")}$ 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(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{" "}; @@ -251,8 +265,9 @@ lm0:=limite(f(x),x=Z[0],1)==-infinity; TestS:=(sign(evalf(LL[0]-ao))==sign(evalf(LL[1]-ao))) or (sign(evalf(LL[0]-ao))==0.0) or (sign(evalf(LL[1]-ao))==0.0); - li:="newLigneVariations(btex $\\hbox{\\bf Variations de }\\atop{\\displaystyle \\Mathbold{"+nom+"}}$ etex);"+ - if(member(Z[0],F)==0){"valPos(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"} + li:=" +newLigneVariations(btex $\\hbox{\\bf Variations de }\\atop{\\displaystyle \\Mathbold{"+nom+"}}$ etex); +"+ if(member(Z[0],F)==0){"valPos(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"} else{"nonDefBarre;limDroite(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"}+ if(k0==1){"1);"}else{"0);"}+if(TestS==0){"valPos(btex $ "+ao+" $ etex,0.5);"}else{" "}; @@ -317,12 +332,14 @@ MetaL:= if(ftt==0){if(nz>2){intro+"beginTableau("+nmr+")"+ li+ lp+ lf -+"endTableau; ++" +endTableau; end";}else{intro+"beginTableau("+nmr+")"+ l0+ li+ lf -+"endTableau; ++" +endTableau; end";}}else{ if(nz>2){intro+"beginTableau("+nmr+")"+ l0+ @@ -330,13 +347,15 @@ lsi+lsp+lsf+ li+ lp+ lf -+"endTableau; ++" +endTableau; end";}else{intro+"beginTableau("+nmr+")"+ l0+ lsi+lsf+ li+ lf -+"endTableau; ++" +endTableau; end";} }; @@ -378,7 +397,8 @@ pour u de 1 jusque nz-2 faire fpour; nz:=size(Z); l0:=" ";li:=" ";lr:=" "; -pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex);";fpour; +pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex); +";fpour; @@ -389,7 +409,8 @@ for(p:=0;p<=n-1;p++){lp:=" "; lp:=lp+if(simplifier(L[p](Z[r]))==0){"valBarre(btex 0 etex);"}else{"barre;"}+ if(L[p]((Z[r]+Z[r+1])*.5)>0){"plus;"}else{"moins;"}}+ 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(L[p](Z[nz-1]+1.0)>0){"plus;"}else{"moins; + "} }; @@ -469,12 +490,14 @@ pour u de 1 jusque nz-2 faire fpour; nz:=size(Z); l0:=" ";li:=" ";lr:=" "; -pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex);";fpour; +pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex); +";fpour; for(p:=0;p<=n-1;p++){lp:=" "; - li:=li+"newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(L[p](x))+"}}$ etex);"+ + li:=li+" +newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(L[p](x))+"}}$ etex);"+ if(L[p](Z[0]-1.0)>0){"plus;"}else{"moins;"}+ for(r:=0; r<=nz-2;r++){ lp:=lp+if(simplifier(L[p](Z[r]))==0){" @@ -544,7 +567,8 @@ val(btex $+\\infty$ etex); else{si a>0 alors "moins;"; sinon "plus;"; fsi}+ if(zmin==zA){"barre;"}else{"valBarre(btex 0 etex);"}+ if(a>0){"plus;"}else{"moins;"} - +" newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\displaystyle \\Mathbold{"+if(c==1){"x+"}else{if(c==-1){"-x+"}else{c+"x+"}}+d+"}}$ etex);" + +" +newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\displaystyle \\Mathbold{"+if(c==1){"x+"}else{if(c==-1){"-x+"}else{c+"x+"}}+d+"}}$ 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;";fsi} @@ -552,7 +576,8 @@ val(btex $+\\infty$ etex); if(zmin==zB){"barre;"}else{"valBarre(btex 0 etex);"}+ if(c>0){"plus;"}else{"moins;"} - +" newLigneSignes(btex $\\hbox{\\bf 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+")}}$ etex);" + +" +newLigneSignes(btex $\\hbox{\\bf 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+")}}$ etex);" + si a*c>0 alors plus; sinon moins;fsi+";"+ "valBarre(btex 0 etex);"+ si a*c>0 alors moins; sinon plus;fsi+";"+ @@ -584,7 +609,7 @@ fclose(Sortie); \end{VerbatimOut} \newenvironment{TSa} -{\stepcounter{TVn}\VerbatimEnvironment\begin{VerbatimOut}{XCas.out}} +{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCas.out}} {\end{VerbatimOut} \executGiacmp{XCas.in} @@ -593,7 +618,7 @@ fclose(Sortie); \begin{center} \includegraphics{XCasmp.\theTVn} \end{center} - +\stepcounter{TVn} } @@ -613,7 +638,7 @@ fclose(Sortie); \end{VerbatimOut} \newenvironment{TSq} -{\stepcounter{TVn}\VerbatimEnvironment\begin{VerbatimOut}{XCasQ.out}} +{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasQ.out}} {\end{VerbatimOut} \executGiacmp{XCasQ.in} @@ -622,7 +647,7 @@ fclose(Sortie); \begin{center} \includegraphics{XCasmpQ.\theTVn} \end{center} - +\stepcounter{TVn} } @@ -643,7 +668,7 @@ fclose(Sortie); \end{VerbatimOut} \newenvironment{TS} -{\stepcounter{TVn}\VerbatimEnvironment\begin{VerbatimOut}{XCasL.out}} +{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasL.out}} {\end{VerbatimOut} \executGiacmp{XCasL.in} @@ -652,7 +677,7 @@ fclose(Sortie); \begin{center} \includegraphics{XCasmpL.\theTVn} \end{center} - +\stepcounter{TVn} } @@ -674,17 +699,16 @@ Resultat:=cat(Resultat,RslT); fprint(Sortie,Unquoted,Resultat); fclose(Sortie); \end{VerbatimOut} -\newenvironment{TV} -{\stepcounter{TVn}\VerbatimEnvironment\begin{VerbatimOut}{XCasTV.out}} -{\end{VerbatimOut} - \executGiacmp{XCasTV.in} +\newenvironment{TV}% +{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasTV.out}}% +{\end{VerbatimOut}% + \executGiacmp{XCasTV.in} \immediate\write18{mpost XCasmpTV} - \begin{center} \includegraphics{XCasmpTV.\theTVn} \end{center} - +\stepcounter{TVn} } @@ -704,17 +728,17 @@ Resultat:=cat(Resultat,RslT); fprint(Sortie,Unquoted,Resultat); fclose(Sortie); \end{VerbatimOut} -\newenvironment{TVI} -{\stepcounter{TVn}\VerbatimEnvironment\begin{VerbatimOut}{XCasTVI.out}} -{\end{VerbatimOut} - \executGiacmp{XCasTVI.in} - - \immediate\write18{mpost XCasmpTVI} +\newenvironment{TVI}% +{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasTVI.out}}% +{\end{VerbatimOut}% + \executGiacmp{XCasTVI.in} + \immediate\write18{mpost XCasmpTVI} \begin{center} \includegraphics{XCasmpTVI.\theTVn} \end{center} +\stepcounter{TVn} } @@ -722,5 +746,6 @@ fclose(Sortie); + %% %% Zi end |