diff options
author | Manuel Pégourié-Gonnard <mpg@elzevir.fr> | 2008-05-13 19:05:08 +0000 |
---|---|---|
committer | Manuel Pégourié-Gonnard <mpg@elzevir.fr> | 2008-05-13 19:05:08 +0000 |
commit | c6168f59843ce21988e1c11aae4861378182fdfb (patch) | |
tree | 71a6e442878e0a400ab6a92c6e26f57affb78c0d /Master/texmf-dist | |
parent | fa8296a6b6724e1cb73c5fa2832ddc824f794e5a (diff) |
tablor v2.03
git-svn-id: svn://tug.org/texlive/trunk@8112 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/tablor/Figures.zip | bin | 148920 -> 161346 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/tablor/tablor.html | 1054 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/tablor/tablor.pdf | bin | 299304 -> 331007 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/tablor/tablor.tex | 111 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tablor/tablor.cfg | 9 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tablor/tablor.sty | 336 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tablor/tablorutf8.sty | 366 |
7 files changed, 1403 insertions, 473 deletions
diff --git a/Master/texmf-dist/doc/latex/tablor/Figures.zip b/Master/texmf-dist/doc/latex/tablor/Figures.zip Binary files differindex 3203b1f239b..c9be5218fe3 100644 --- a/Master/texmf-dist/doc/latex/tablor/Figures.zip +++ b/Master/texmf-dist/doc/latex/tablor/Figures.zip diff --git a/Master/texmf-dist/doc/latex/tablor/tablor.html b/Master/texmf-dist/doc/latex/tablor/tablor.html index f102f34fba8..4070357a6b8 100644 --- a/Master/texmf-dist/doc/latex/tablor/tablor.html +++ b/Master/texmf-dist/doc/latex/tablor/tablor.html @@ -25,12 +25,6 @@ color: #9932cc; font-weight: bold; } - .flyspell-duplicate { - /* flyspell-duplicate-face */ - color: #cdad00; - font-weight: bold; - text-decoration: underline; - } .flyspell-incorrect { /* flyspell-incorrect-face */ color: #ff4500; @@ -89,7 +83,7 @@ <pre> <span class="font-latex-sedate">\NeedsTeXFormat</span>{LaTeX2e}[1995/12/01] -<span class="font-latex-sedate">\ProvidesPackage</span>{<span class="flyspell-duplicate">tablor</span>}[24/03/2008 v2.01 la machine à créer des tableaux de signes et variations] +<span class="font-latex-sedate">\ProvidesPackage</span>{tablor}[24/03/2008 v2.03 la machine à créer des tableaux de signes et variations] <span class="comment-delimiter">% </span><span class="font-latex-sedate"><span class="comment">\copyleft</span></span><span class="comment"> Connan le Barbare </span><span class="font-latex-sedate"><span class="comment">\copyright</span></span><span class="comment"> </span><span class="comment-delimiter">% </span><span class="comment">avec l'efficace participation de Jean-Michel </span><span class="comment"><span class="flyspell-incorrect">Boucart</span></span><span class="comment"> @@ -113,7 +107,7 @@ </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,+</span><span class="comment"><span class="flyspell-duplicate">infinity</span></span><span class="comment">],[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="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"> @@ -129,7 +123,7 @@ </span><span class="comment-delimiter">%</span><span class="comment"> </span><span class="comment-delimiter">% </span><span class="comment">tableau de variations avec f' sans zéro formel </span><span class="comment-delimiter">%</span><span class="font-latex-sedate"><span class="comment">\begin</span></span><span class="comment">{TVIapp} -</span><span class="comment-delimiter">% </span><span class="comment"><span class="flyspell-duplicate">TVIapp</span></span><span class="comment">([0,+</span><span class="comment"><span class="flyspell-duplicate">infinity</span></span><span class="comment">],[0],"g","x",</span><span class="comment"><span class="flyspell-duplicate">ln</span></span><span class="comment">(x)-x*</span><span class="comment"><span class="flyspell-duplicate">exp</span></span><span class="comment">(2-x),1,0,</span><span class="font-latex-sedate"><span class="comment">\tv</span></span><span class="comment">) +</span><span class="comment-delimiter">% </span><span class="comment">TVIapp([0,+infinity],[0],"g","x",ln(x)-x*exp(2-x),1,0,</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">{TVIapp} </span><span class="comment-delimiter">%</span><span class="comment"> </span><span class="comment-delimiter">%</span><span class="comment"> @@ -151,17 +145,18 @@ <span class="font-latex-sedate">\RequirePackage</span>{ifthen} <span class="font-latex-sedate">\RequirePackage</span>{fancyvrb} -<span class="font-latex-sedate">\RequirePackage</span>{<span class="flyspell-duplicate">ifpdf</span>} +<span class="font-latex-sedate">\RequirePackage</span>{ifpdf} <span class="comment-delimiter">% </span><span class="comment">option xcas présent </span> -<span class="font-latex-sedate">\newboolean</span>{xcas}<span class="font-latex-sedate">\setboolean</span>{xcas}{<span class="flyspell-duplicate">false</span>} +<span class="font-latex-sedate">\newboolean</span>{xcas}<span class="font-latex-sedate">\setboolean</span>{xcas}{false} <span class="font-latex-sedate">\DeclareOption</span>{xcas}{<span class="font-latex-sedate">\setboolean</span>{xcas}{true}} -<span class="comment-delimiter">%% </span><span class="comment">Initialisation du choix </span><span class="comment"><span class="flyspell-incorrect">d'OS</span></span><span class="comment"> -</span><span class="font-latex-sedate">\newboolean</span>{windows}<span class="font-latex-sedate">\setboolean</span>{windows}{<span class="flyspell-duplicate">false</span>} +<span class="comment-delimiter">%% </span><span class="comment">Initialisation du choix d'OS +</span><span class="font-latex-sedate">\newboolean</span>{windows}<span class="font-latex-sedate">\setboolean</span>{windows}{false} + <span class="comment-delimiter">%% </span><span class="comment">on configure tablor dans un fichier extérieur pour la plateforme @@ -171,27 +166,28 @@ </span> <span class="font-latex-sedate">\ProcessOptions</span><span class="font-latex-sedate">\relax</span> -<span class="comment-delimiter">%% </span><span class="comment">pour ceux compilant via </span><span class="comment"><span class="flyspell-incorrect">pdflatex</span></span><span class="comment"> +<span class="comment-delimiter">%% </span><span class="comment">pour ceux compilant via pdflatex </span> <span class="font-latex-sedate">\ifpdf</span> -<span class="font-latex-sedate">\DeclareGraphicsRule</span>{*}{<span class="flyspell-incorrect">mps</span>}{*}{} +<span class="font-latex-sedate">\DeclareGraphicsRule</span>{*}{mps}{*}{} <span class="font-latex-sedate">\fi</span> <span class="comment-delimiter">%% </span><span class="comment">pour nettoyer les fichiers auxiliaires </span> -<span class="font-latex-sedate">\AtEndDocument</span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\rem</span> tete.* *.user XCas* Xcas* *.<span class="flyspell-incorrect">mpx</span>}} +<span class="font-latex-sedate">\AtEndDocument</span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\rem</span> tete.* *.user XCas* Xcas* *.mpx}} + <span class="comment-delimiter">%% </span><span class="comment">En-tête pour le fichier metapost contenant les codes </span><span class="comment-delimiter">%% </span><span class="comment">de tous les tableaux produits </span> - <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{tete.mp} - input <span class="flyspell-duplicate">tableauVariation</span>; + <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=?§£]{tete.mp} + input tableauVariation; verbatimtex <span class="comment-delimiter">%</span><span class="comment">&latex </span> <span class="font-latex-sedate"><span class="keyword">\documentclass</span></span><span class="function-name">{article}</span> - <span class="font-latex-sedate"><span class="keyword">\usepackage</span></span><span class="variable-name">[upright]</span><span class="function-name">{fourier}</span> + <span class="font-latex-warning">\\</span>?fonte <span class="font-latex-sedate"><span class="keyword">\usepackage</span></span><span class="function-name">{amsmath}</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">\Mathbold</span></span><span class="function-name">}</span>[1]{<span class="font-latex-sedate"><span class="keyword">\mbox</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\boldmath</span></span><span class="function-name"><span class="font-latex-math">$#1$</span></span><span class="font-latex-sedate"><span class="function-name">\unboldmath</span></span><span class="function-name">}</span>} <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{document}</span> @@ -199,23 +195,25 @@ <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> + + <span class="comment-delimiter">%% </span><span class="comment">Nettoie les fichiers log dont le nom dépend du choix de l'utilisateur </span><span class="comment-delimiter">%% </span><span class="comment">Par défaut, c'est le nom du fichier tex courant (</span><span class="font-latex-sedate"><span class="comment">\jobname</span></span><span class="comment">) </span><span class="comment-delimiter">%% </span><span class="comment">Clôt le fichier metapost contenant le récapitulatif de tous les tableaux </span> <span class="comment-delimiter">%% </span><span class="comment">Définit des commandes disque selon l'OS utilisé -</span><span class="font-latex-sedate">\ifthenelse</span>{<span class="font-latex-sedate">\boolean</span>{<span class="flyspell-duplicate">windows</span>}}<span class="comment">% +</span><span class="font-latex-sedate">\ifthenelse</span>{<span class="font-latex-sedate">\boolean</span>{windows}}<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">\rem</span></span><span class="function-name">}</span>{DEL } <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">\cat</span></span><span class="function-name">}</span>{TYPE } <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">\cp</span></span><span class="function-name">}</span>{COPY }}<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">\rem</span></span><span class="function-name">}</span>{rm }<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">\cat</span></span><span class="function-name">}</span>{cat } - <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">\cp</span></span><span class="function-name">}</span>{<span class="flyspell-duplicate">cp</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">\cp</span></span><span class="function-name">}</span>{cp }} <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>[1][<span class="font-latex-sedate">\jobname</span>]<span class="comment">% </span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\rem</span> #1.Tab.log} -<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{echo end >> #1.Tab.<span class="flyspell-duplicate">mp</span>} +<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{echo end >> #1.Tab.mp} } @@ -228,7 +226,7 @@ <span class="comment-delimiter">%% </span><span class="comment">initialise les compteurs </span> -<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">\newcounter</span></span><span class="function-name">{TVn}</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">\newcounter</span></span><span class="function-name">{TVnbis}</span> @@ -247,7 +245,7 @@ </span>{<span class="font-latex-sedate">\IfFileExists</span>{<span class="font-latex-sedate">\Tableaux</span>.Tab.mp}<span class="comment">% Si Tableaux.mp est présent... </span> {<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\rem</span> <span class="font-latex-sedate">\Tableaux</span>.Tab.mp}}<span class="comment">% le détruire </span> {}<span class="comment">% -</span> <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cp</span> -f tete.mp <span class="font-latex-sedate">\Tableaux</span>.Tab.mp}<span class="comment">% Reconstituer l'entête de Tableaux.</span><span class="comment"><span class="flyspell-duplicate">mp</span></span><span class="comment"> +</span> <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cp</span> -f tete.mp <span class="font-latex-sedate">\Tableaux</span>.Tab.mp}<span class="comment">% Reconstituer l'entête de Tableaux.mp </span>} {<span class="font-latex-sedate">\IfFileExists</span>{<span class="font-latex-sedate">\Tableaux</span>.Tab.mp}<span class="comment">% Sans l'option XCas, si </span> <span class="comment">% Tableaux.mp existe @@ -264,7 +262,7 @@ <span class="font-latex-sedate">\makeatletter</span> <span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\executGiacmp</span></span><span class="function-name">}</span>[1]{<span class="comment">% </span><span class="font-latex-sedate">\ifthenelse</span>{<span class="font-latex-sedate">\boolean</span>{windows}}<span class="comment">% -</span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="flyspell-duplicate">giac</span> #1 }}<span class="comment">% +</span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{giac #1 }}<span class="comment">% </span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{giac <#1 }}} <span class="font-latex-sedate">\makeatother</span> @@ -273,23 +271,20 @@ <span class="comment-delimiter">%%%</span><span class="comment"> </span><span class="comment-delimiter">%</span><span class="comment"> -</span><span class="comment-delimiter">%%% </span><span class="comment">LES SCRIPTS GIAC/</span><span class="comment"><span class="flyspell-incorrect">XCAS</span></span><span class="comment"> +</span><span class="comment-delimiter">%%% </span><span class="comment">LES SCRIPTS GIAC/XCAS </span><span class="comment-delimiter">%</span><span class="comment"> </span><span class="comment-delimiter">%%%</span><span class="comment"> </span> - - - <span class="comment-delimiter">%%</span><span class="comment"> </span><span class="comment-delimiter">%% </span><span class="comment">Code giac/Xcas pour les Tableaux de Variations </span><span class="comment-delimiter">%%</span><span class="comment"> </span> -<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTV.cxx} -<span class="flyspell-duplicate">TV</span>(L,F,nom,nomv,f,ftt,nmr):={ +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=?§£]{XcasTV.cxx} +TV(L,F,nom,nomv,f,ftt,nmr):={ nl:=size(L); f:=unapply(f,x); fp:=fonction_derivee(f); @@ -306,19 +301,19 @@ nz:=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; fpour; nz:=size(Z); l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";lsp:=" "; pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> etex); -";<span class="flyspell-duplicate">fpour</span>; +";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 <span class="font-latex-math">$\\hbox{ Signe de }\\atop{\\displaystyle "+nom+"'("+nomv+")}$</span> <span class="flyspell-duplicate">etex</span>);"+ +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(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+ if(sign(fp(Z[0]+10^(-5)))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+ @@ -333,25 +328,27 @@ lsf:=if(member(Z[nz-1],F)==0){""}else{"nomDefBarre; "} lm0:=limite(f(x),x=Z[0],1)==-infinity; li:=" -<span class="flyspell-duplicate">newLigneVariations</span>(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Variations de }\\atop{\\displaystyle \\Mathbold{"+nom+"}}$</span> etex);"+ +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> 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>,"}+ + 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)); + 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)==-infinity; lp:=lp+if(member(Z[r],F)){ - "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],-1)))}+"$</span> etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))}+"$</span> etex,"+if(krp==1){"1);"}else{"0);"}} + "limGauche(btex + <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],-1)))}+"$</span> + etex,"+if(krm==1){"1);"}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);"}<span class="flyspell-duplicate">else</span>{"0); + 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 <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); + if(kz==1){"1);"}else{"0); "}; @@ -359,30 +356,30 @@ 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> + <span class="font-latex-warning">\\</span>?fonte <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; " MetaL:=if(ftt==2){if(nz>2){intro+"beginTableau("+nmr+")"+ l0+lsi+lsp+lsf+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; end ";}else{ intro+"beginTableau("+nmr+")"+ l0+ lsi+lsf+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; end"; } }else{ if(ftt==0){if(nz>2){intro+"beginTableau("+nmr+")"+ l0+ li+ -<span class="flyspell-duplicate">lp</span>+ +lp+ lf +" endTableau; @@ -393,22 +390,22 @@ lf +" endTableau; end";}}else{ -if(nz>2){intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +if(nz>2){intro+"beginTableau("+nmr+")"+ l0+ lsi+lsp+lsf+ li+ lp+ lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; end";}else{intro+"beginTableau("+nmr+")"+ l0+ lsi+lsf+ li+ -<span class="flyspell-duplicate">lf</span> +lf +" endTableau; -<span class="flyspell-duplicate">end</span>";} +end";} }} @@ -417,30 +414,30 @@ MetaLfc:=if(ftt==2){if(nz>2){" beginTableau("+nmr+")"+ l0+lsi+lsp+lsf+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}else{ intro+"beginTableau("+nmr+")"+ l0+ lsi+lsf+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; "; } }else{ if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+ l0+ li+ -<span class="flyspell-duplicate">lp</span>+ +lp+ lf +" endTableau; -";}else{"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +";}else{"beginTableau("+nmr+")"+ l0+ li+ lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}}else{ if(nz>2){"beginTableau("+nmr+")"+ @@ -448,17 +445,17 @@ if(nz>2){"beginTableau("+nmr+")"+ lsi+lsp+lsf+ li+ lp+ -<span class="flyspell-duplicate">lf</span> +lf +" endTableau; ";}else{"beginTableau("+nmr+")"+ l0+ -<span class="flyspell-duplicate">lsi</span>+lsf+ +lsi+lsf+ li+ lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";} }} @@ -466,16 +463,258 @@ lf sortie:=fopen("XCasmpfc.mp"); fprint(sortie,Unquoted,MetaLfc); -<span class="flyspell-duplicate">fclose</span>(sortie); +fclose(sortie); -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> +<span class="comment-delimiter">%%</span><span class="comment"> +</span><span class="comment-delimiter">%%</span><span class="comment"> +</span><span class="comment-delimiter">%% </span><span class="comment">TV avec une zone interdite : on rajoute comme argument l'intervalle interdit +</span><span class="comment-delimiter">%% </span><span class="comment">par exemple, pour sqrt(x^2-1) : TVZ([-infinity,100],[],[-1,1],"f","x",sqrt(x^2-1),1,1) +</span><span class="comment-delimiter">%%</span><span class="comment"> +</span> +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=?§£]{XcasTVZ.cxx} + +TVZ(L,F,FF,nom,nomv,f,ftt,nmr):={ +nl:=size(L); +if(FF[0]>L[0]){Imin:=FF[0];LL:=L}else{Imin:=L[0];LL:=[L[1]]}; +if(FF[1]<L[1]){Imax:=FF[1];LL:=L}else{Imax:=L[1];LL:=[L[0]]}; +FF:=[Imin,Imax]; +f:=unapply(f,x); +fp:=fonction_derivee(f); +Z:=concat(LL,F); +Z:=concat(Z,FF); +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[nl-1])); + kK:=(evalf(S[j])<evalf(Imin)) or (evalf(S[j])>evalf(Imax)); + Kk:=(kk) and kK; + if(Kk==1){Z:=append(Z,simplifier(S[j]))}; + fpour + fsi; + +Z:=sort(Z); +nz:=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:=nz-1; + fsi; +fpour; +nz:=size(Z); +for(k:=1;k<nz;k++){ +if ((Z[k]>Imin)and(Z[k]<Imax)){Z:=augment(Z[0..k-1],Z[k+1..nz-1]);nz:=nz-1; +} +} +nz:=size(Z); + +l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";lsp:=" "; +pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> etex); +";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 <span class="font-latex-math">$\\hbox{ Signe de }\\atop{\\displaystyle "+nom+"'("+nomv+")}$</span> etex);"+ + if(Z[0]==Imin){"debutNonDef;"}else{if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){ + if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+ + if(sign(fp(Z[0]+10^(-5)))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+ + if(sign(fp((Z[0]+10^(-5))))==1){"plus;"}else{"moins;"} }}} + +if(nz>2){ for(r:=1; r<=nz-2;r++){ ksp:=evalf(fp(Z[r]+0.01))>0; + lsp:=lsp+if(Z[r]==Imin){"debutNonDef;"}else{ + if(Z[r]==Imax){"finNonDef;"+ + if(ksp==1){"plus;"}else{"moins;"}}else{ + if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+ + if(ksp==1){"plus;"}else{"moins;"} + }}}}; + +lsf:=if(Z[0]==Imax){"finNonDef;"}else{if(member(Z[nz-1],F)==0){""}else{"nomDefBarre; +"}} +lm0:=limite(f(x),x=Z[0],1)==-infinity; + 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> 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)==-infinity; + lp:=lp+if(Z[r]==Imin){"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);"} + +"debutNonDef;" + }//fsi Zr=Imin + else{ + if (Z[r]==Imax) {"finNonDef;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 { + if(member(Z[r],F)){ + "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){ + "-\\infty"}else{ + latex(simplifier(limite(f(x),x=Z[r],-1)))} + +"$</span> etex,"+if(krm==1){ + "1);"}else{"0);"} + +"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){ + "-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))} + +"$</span> etex,"+if(krp==1){ + "1);"}else{"0);"} + }//fsi (member Zr F) + 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);"}//felse(krp) + }//felse(valpos) + }//felse(member Zr F) + } //felse(Zr=Imax) + }//felse(Zr=Imin) + };//ffor + }//fsi nz + +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);"}else{"0); +"}; + + +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>?fonte + <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> + etex; + +" + + +MetaL:=if(ftt==2){if(nz>2){intro+"beginTableau("+nmr+")"+ + l0+lsi+lsp+lsf+" +endTableau; +end +";}else{ +intro+"beginTableau("+nmr+")"+ + l0+ +lsi+lsf+" +endTableau; +end"; +} +}else{ if(ftt==0){if(nz>2){intro+"beginTableau("+nmr+")"+ + l0+ +li+ +lp+ +lf ++" +endTableau; +end";}else{intro+"beginTableau("+nmr+")"+ + l0+ +li+ +lf ++" +endTableau; +end";}}else{ +if(nz>2){intro+"beginTableau("+nmr+")"+ + l0+ +lsi+lsp+lsf+ +li+ +lp+ +lf ++" +endTableau; +end";}else{intro+"beginTableau("+nmr+")"+ + l0+ +lsi+lsf+ +li+ +lf ++" +endTableau; +end";} +}} + + + +MetaLfc:=if(ftt==2){if(nz>2){" + +beginTableau("+nmr+")"+ + l0+lsi+lsp+lsf+" +endTableau; + +";}else{ +intro+"beginTableau("+nmr+")"+ + l0+ +lsi+lsf+" +endTableau; + +"; +} +}else{ if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+ + l0+ +li+ +lp+ +lf ++" +endTableau; + +";}else{"beginTableau("+nmr+")"+ + l0+ +li+ +lf ++" +endTableau; + +";}}else{ +if(nz>2){"beginTableau("+nmr+")"+ + l0+ +lsi+lsp+lsf+ +li+ +lp+ +lf ++" +endTableau; +";}else{"beginTableau("+nmr+")"+ + l0+ +lsi+lsf+ +li+ +lf ++" +endTableau; + +";} +}} + + +sortie:=fopen("XCasmpfc.mp"); +fprint(sortie,Unquoted,MetaLfc); +fclose(sortie); + + +return(MetaL); + } +:; + +<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> <span class="comment-delimiter">%%</span><span class="comment"> @@ -485,7 +724,7 @@ return(<span class="flyspell-duplicate">MetaL</span>); </span> -<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{<span class="flyspell-duplicate">XcasTVapp</span>.<span class="flyspell-duplicate">cxx</span>} +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=?§£]{XcasTVapp.cxx} @@ -496,20 +735,20 @@ return(<span class="flyspell-duplicate">MetaL</span>); TVapp(L,F,nom,nomv,f,ftt,nmr):={ -<span class="flyspell-duplicate">nl</span>:=size(L); +nl:=size(L); f:=unapply(f,x); fp:=fonction_derivee(f); z0:=concat(L,F);z:=sort(z0); nz:=size(z); if(L==[-infinity,+infinity]){S:=seq(fsolve(fp(x),x,k/10,newton_solver),k=-100..100);} -<span class="flyspell-duplicate">else</span>{if(L[0]==-infinity){S:=seq(fsolve(fp(x),x,k/10,newton_solver),k=-100..L[1]);} +else{if(L[0]==-infinity){S:=seq(fsolve(fp(x),x,k/10,newton_solver),k=-100..L[1]);} else{if(L[1]==+infinity){S:=seq(fsolve(fp(x),x,k/10,newton_solver),k=L[0]..100);} else{S:=seq(fsolve(fp(x),x,k/10,newton_solver),k=z[0]..z[nz-1])}}}; si size(S)>0 alors pour j de 0 jusque size(S)-1 faire kk:=(re(S[j])==S[j]);kok:=(evalf(S[j])>=L[0]) and (evalf(S[j])<=L[1]); if(kk==1){if(kok==1){z:=append(z,simplifier(S[j]))}}; fpour; -<span class="flyspell-duplicate">fsi</span>; +fsi; S:=NULL; @@ -534,31 +773,31 @@ Z:=[S]; nz:=size(Z); l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";lsp:=" "; -pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> <span class="flyspell-duplicate">etex</span>); -";<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); +";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:=" -<span class="flyspell-duplicate">newLigneSignes</span>(btex <span class="font-latex-math">$\\hbox{ Signe de }\\atop{\\displaystyle "+nom+"'("+nomv+")}$</span> <span class="flyspell-duplicate">etex</span>);"+ +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(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+ - 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;"}}else{"nonDefBarre;"+ if(sign(fp((Z[0]+10^(-5))))==1){"plus;"}else{"moins;"} }} if(nz>2){ for(r:=1; r<=nz-2;r++){ ksp:=evalf(fp(Z[r]+0.01))>0; - lsp:=lsp+if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}else{"<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;"} }; } lsf:=if(member(Z[nz-1],F)==0){""}else{"nomDefBarre; "} -lm0:=limite(f(x),x=Z[0],1)==-<span class="flyspell-duplicate">infinity</span>; +lm0:=limite(f(x),x=Z[0],1)==-infinity; li:=" -<span class="flyspell-duplicate">newLigneVariations</span>(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Variations de }\\atop{\\displaystyle \\Mathbold{"+nom+"}}$</span> etex);"+ +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> 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>,"}+ + 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"}+ ");"; @@ -568,70 +807,70 @@ lm0:=limite(f(x),x=Z[0],1)==-<span class="flyspell-duplicate">infinity</span>; lp:=lp+if(member(Z[r],F)){ "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],-1)))}+"$</span> etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))}+"$</span> etex,"+if(krp==1){"1);"}else{"0);"}} 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);"}<span class="flyspell-duplicate">else</span>{"0); + 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 <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);"}<span class="flyspell-duplicate">else</span>{"0); + 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);"}else{"0); "}; intro:="input tableauVariation; - <span class="flyspell-duplicate">verbatimtex</span> + verbatimtex <span class="comment-delimiter">%</span><span class="comment">&latex </span> <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">documentclass</span><span class="function-name">{article}</span> - <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">usepackage</span><span class="variable-name">[upright]</span><span class="function-name">{fourier}</span> + <span class="font-latex-warning">\\</span>?fonte <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; " -MetaL:=if(ftt==2){if(nz>2){intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +MetaL:=if(ftt==2){if(nz>2){intro+"beginTableau("+nmr+")"+ l0+lsi+lsp+lsf+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; end ";}else{ intro+"beginTableau("+nmr+")"+ l0+ -<span class="flyspell-duplicate">lsi</span>+lsf+" -<span class="flyspell-duplicate">endTableau</span>; +lsi+lsf+" +endTableau; end"; } }else{ if(ftt==0){if(nz>2){intro+"beginTableau("+nmr+")"+ l0+ li+ -<span class="flyspell-duplicate">lp</span>+ +lp+ lf +" endTableau; -end";}else{intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +end";}else{intro+"beginTableau("+nmr+")"+ l0+ li+ lf +" endTableau; end";}}else{ -if(nz>2){intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +if(nz>2){intro+"beginTableau("+nmr+")"+ l0+ lsi+lsp+lsf+ li+ lp+ -<span class="flyspell-duplicate">lf</span> +lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; end";}else{intro+"beginTableau("+nmr+")"+ l0+ lsi+lsf+ li+ -<span class="flyspell-duplicate">lf</span> +lf +" endTableau; -<span class="flyspell-duplicate">end</span>";} +end";} }} @@ -640,59 +879,59 @@ MetaLfc:=if(ftt==2){if(nz>2){" beginTableau("+nmr+")"+ l0+lsi+lsp+lsf+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}else{ intro+"beginTableau("+nmr+")"+ l0+ lsi+lsf+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; "; } }else{ if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+ l0+ li+ -<span class="flyspell-duplicate">lp</span>+ +lp+ lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; -";}else{"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +";}else{"beginTableau("+nmr+")"+ l0+ li+ lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}}else{ if(nz>2){"beginTableau("+nmr+")"+ l0+ lsi+lsp+lsf+ li+ -<span class="flyspell-duplicate">lp</span>+ -<span class="flyspell-duplicate">lf</span> +lp+ +lf +" endTableau; -";}else{"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +";}else{"beginTableau("+nmr+")"+ l0+ -<span class="flyspell-duplicate">lsi</span>+lsf+ +lsi+lsf+ li+ lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";} }} sortie:=fopen("XCasmpfc.mp"); -<span class="flyspell-duplicate">fprint</span>(sortie,Unquoted,MetaLfc); -<span class="flyspell-duplicate">fclose</span>(sortie); +fprint(sortie,Unquoted,MetaLfc); +fclose(sortie); -return(<span class="flyspell-duplicate">MetaL</span>); +return(MetaL); }:; @@ -718,52 +957,52 @@ return(<span class="flyspell-duplicate">MetaL</span>); -<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTVI.<span class="flyspell-duplicate">cxx</span>} +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=?§£]{XcasTVI.cxx} TVI(L,F,nom,nomv,f,ftt,ao,nmr):={ -<span class="flyspell-duplicate">nl</span>:=size(L); +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[nl-1])); if(kk==1){Z:=append(Z,simplifier(S[j]))}; - <span class="flyspell-duplicate">fpour</span> + fpour fsi; Z:=sort(Z); -<span class="flyspell-duplicate">nz</span>:=size(Z); - si Z[0]==Z[1] alors Z:=augment(Z[0],Z[2..nz-1]);nz:=<span class="flyspell-duplicate">nz</span>-1; +nz:=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:=nz-1; fsi; -<span class="flyspell-duplicate">fpour</span>; +fpour; nz:=size(Z); -l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";<span class="flyspell-duplicate">lsp</span>:=" "; +l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";lsp:=" "; LI:=limite(f(x),x,Z[0],1); LF:=limite(f(x),x,Z[nz-1],-1); -<span class="flyspell-duplicate">LP</span>:=NULL; +LP:=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]}; NL:=size(LL); -A:=NULL;aa:=1;<span class="flyspell-duplicate">kk</span>:=0; +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]-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]-ao))==0.0); -<span class="flyspell-duplicate">TestL</span>:=(abs(LL[k])==abs(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 <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>); +l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[nz-1])+"$</span> etex); "}; @@ -772,29 +1011,29 @@ 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)); -<span class="flyspell-duplicate">lsi</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(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+ if(sign(fp((Z[0]+10^(-10))))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+ - if(sign(fp(10^(-10)+Z[0]))==1){"plus;"}else{"moins;"} }}+if(TestS==0){"valBarre(btex<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(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;"}}else{" "}; -if(nz>2){rr:=1; if(nz==NL){for(r:=1; r<=NL-2;r++){ TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-<span class="flyspell-duplicate">ao</span>))==0.0); +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{"nonDefBarre;"}+ if(ksp==1){"plus;"}else{"moins;"}+if(TestS==0){"valBarre(btex <span class="font-latex-math">$ $</span> etex);"}else{" "}+if(TestS==0){if(ksp==1){"plus;"}else{"moins;"}}else{" "}; }} -<span class="flyspell-duplicate">else</span>{for(r:=1; r<=NL-2;r++){kspp:=evalf(fp(Z[rr]+0.01))>0;TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-ao))==0.0); +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{"nonDefBarre;"}+ - if(kspp==1){"plus;"}else{"moins;"}+"valBarre(btex <span class="font-latex-math">$ $</span> etex);"+if(<span class="flyspell-duplicate">kspp</span>==1){"plus;"}else{"moins;"};rr:=rr+1;} - } else{lsp:=lsp+if(member(Z[rr],F)==0){"valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{"nonDefBarre;"}+ - if(kspp==1){"plus;"}else{"moins;"};rr:=<span class="flyspell-duplicate">rr</span>+1;} + if(kspp==1){"plus;"}else{"moins;"}+"valBarre(btex <span class="font-latex-math">$ $</span> etex);"+if(kspp==1){"plus;"}else{"moins;"};rr:=rr+1;} + } else{lsp:=lsp+if(member(Z[rr],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+ + if(kspp==1){"plus;"}else{"moins;"};rr:=rr+1;} }} }; @@ -803,158 +1042,158 @@ 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{"nomDefBarre;"} lm0:=limite(f(x),x=Z[0],1)==-infinity; -<span class="flyspell-duplicate">TestS</span>:=(sign(evalf(LL[0]-ao))==sign(evalf(LL[1]-ao))) or (sign(evalf(LL[0]-ao))==0.0) or (sign(evalf(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); 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> etex,"} else{"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$</span> etex,"}+ - if(k0==1){"1);"}else{"0);"}+if(TestS==0){"valPos(btex <span class="font-latex-math">$ "+ao+" $</span> etex,0.5);"}<span class="flyspell-duplicate">else</span>{" "}; + if(k0==1){"1);"}else{"0);"}+if(TestS==0){"valPos(btex <span class="font-latex-math">$ "+ao+" $</span> etex,0.5);"}else{" "}; - 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]-<span class="flyspell-duplicate">ao</span>))==0.0); + if(nz>2){if(nz==NL){for(r:=1; r<=nz-2;r++){TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-ao))==0.0); krm:=evalf(limite(f(x),x=Z[r-1],1))< evalf(limite(f(x),x=Z[r],-1)); krp:=evalf(limite(f(x),x=Z[r],1))> evalf(limite(f(x),x=Z[r+1],-1)) ; - lmrm:=limite(f(x),x=Z[r],-1)==-infinity;lmrp:=limite(f(x),x=Z[r],1)==-<span class="flyspell-duplicate">infinity</span>; + lmrm:=limite(f(x),x=Z[r],-1)==-infinity;lmrp:=limite(f(x),x=Z[r],1)==-infinity; lp:=lp+if(member(Z[r],F)) { - "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],-1)))}+"$</span> etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))}+"$</span> etex,"+if(krp==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}} + "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],-1)))}+"$</span> etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))}+"$</span> etex,"+if(krp==1){"1);"}else{"0);"}} else{"valPos(btex <span class="font-latex-math">$"+latex(simplifier(f(Z[r])))+"$</span> etex,"+if(sign(evalf(fp(Z[r]-0.01)))==sign(fp(Z[r]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);"}}}+if(TestS==0){"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(<span class="flyspell-duplicate">evalf</span>(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-<span class="flyspell-duplicate">ao</span>))==0.0); +}else{rr:=1;for(r:=1; r<=NL-2;r++){TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-ao))==0.0); krm:=evalf(limite(f(x),x=Z[rr-1],1))< evalf(limite(f(x),x=Z[rr],-1)); - krp:=evalf(limite(f(x),x=Z[rr],1))> evalf(limite(f(x),x=Z[<span class="flyspell-duplicate">rr</span>+1],-1)) ; + krp:=evalf(limite(f(x),x=Z[rr],1))> evalf(limite(f(x),x=Z[rr+1],-1)) ; lmrm:=limite(f(x),x=Z[rr],-1)==-infinity;lmrp:=limite(f(x),x=Z[rr],1)==-infinity; TestL:=(abs(LL[r])==abs(LL[r+1])); if(TestS==0){if( TestL==1 ){lp:=lp}else{ lp:=lp+if(member(Z[rr],F)) { - "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],-1)))}+"$</span> etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],1)))}+"$</span> etex,"+if(krp==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}} + "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],-1)))}+"$</span> etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],1)))}+"$</span> etex,"+if(krp==1){"1);"}else{"0);"}} else{"valPos(btex <span class="font-latex-math">$"+latex(simplifier(f(Z[rr])))+"$</span> - etex,"+if(sign(evalf(fp(Z[rr]-0.01)))==sign(fp(Z[<span class="flyspell-duplicate">rr</span>]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);"}}}+"valPos(btex + 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:=rr+1; -}// else <span class="flyspell-duplicate">testL</span>==1 +}// 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(evalf(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:=rr+1; }//else testS==0 }//for nz<NL -}// else nz<<span class="flyspell-duplicate">NL</span> +}// else nz<NL //if nz=NL -};//if <span class="flyspell-duplicate">nz</span>>2 +};//if nz>2 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>,"}+ + 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);"}else{"0);"}; -<span class="flyspell-duplicate">intro</span>:=" +intro:=" input tableauVariation; -<span class="flyspell-duplicate">verbatimtex</span> +verbatimtex <span class="comment-delimiter">%</span><span class="comment">&latex </span> <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">documentclass</span><span class="function-name">{article}</span> - <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">usepackage</span><span class="variable-name">[upright]</span><span class="function-name">{fourier}</span> + <span class="font-latex-warning">\\</span>?fonte <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==2){if(nz>2){intro+"beginTableau("+nmr+")"+ +MetaL:= if(ftt==2){if(nz>2){intro+"beginTableau("+nmr+")"+ l0+lsi+lsp+lsf+" endTableau; end";}else{ -<span class="flyspell-duplicate">intro</span>+"beginTableau("+nmr+")"+ +intro+"beginTableau("+nmr+")"+ l0+ -<span class="flyspell-duplicate">lsi</span>+lsf+" +lsi+lsf+" endTableau; -<span class="flyspell-duplicate">end</span>"; +end"; } }else{ -if(ftt==0){if(nz>2){intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +if(ftt==0){if(nz>2){intro+"beginTableau("+nmr+")"+ l0+ li+ lp+ -<span class="flyspell-duplicate">lf</span> +lf +" endTableau; -<span class="flyspell-duplicate">end</span>";}else{intro+"beginTableau("+nmr+")"+ +end";}else{intro+"beginTableau("+nmr+")"+ l0+ li+ -<span class="flyspell-duplicate">lf</span> +lf +" endTableau; -<span class="flyspell-duplicate">end</span>";}}else{ +end";}}else{ if(nz>2){intro+"beginTableau("+nmr+")"+ l0+ lsi+lsp+lsf+ li+ lp+ -<span class="flyspell-duplicate">lf</span> +lf +" endTableau; -end";}else{intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +end";}else{intro+"beginTableau("+nmr+")"+ l0+ lsi+lsf+ li+ lf +" endTableau; -<span class="flyspell-duplicate">end</span>";} +end";} }}; MetaLfc:= if(ftt==2){if(nz>2){"beginTableau("+nmr+")"+ l0+lsi+lsp+lsf+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}else{ "beginTableau("+nmr+")"+ l0+ lsi+lsf+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; "; } }else{ -if(ftt==0){if(nz>2){"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+ l0+ li+ -<span class="flyspell-duplicate">lp</span>+ +lp+ lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; -";}else{"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +";}else{"beginTableau("+nmr+")"+ l0+ li+ lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}}else{ if(nz>2){"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> +lp+ +lf +" endTableau; -";}else{"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +";}else{"beginTableau("+nmr+")"+ l0+ lsi+lsf+ li+ lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";} }}; @@ -963,10 +1202,10 @@ lf sortie:=fopen("XCasmpfc.mp"); fprint(sortie,Unquoted,MetaLfc); -<span class="flyspell-duplicate">fclose</span>(sortie); +fclose(sortie); -return(<span class="flyspell-duplicate">MetaL</span>); +return(MetaL); }:; @@ -987,13 +1226,13 @@ return(<span class="flyspell-duplicate">MetaL</span>); -<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTVIapp.cxx} +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=?§£]{XcasTVIapp.cxx} -TVIapp(L,F,nom,nomv,f,ftt,ao,<span class="flyspell-duplicate">nmr</span>):={ +TVIapp(L,F,nom,nomv,f,ftt,ao,nmr):={ -<span class="flyspell-duplicate">nl</span>:=size(L); +nl:=size(L); f:=unapply(f,x); fp:=fonction_derivee(f); z0:=concat(L,F);z:=sort(z0); @@ -1006,7 +1245,7 @@ si size(S)>0 alors pour j de 0 jusque size(S)-1 faire kk:=(re(S[j])==S[j]);kok:=(evalf(S[j])>=L[0]) and (evalf(S[j])<=L[1]); if(kk==1){if(kok==1){z:=append(z,simplifier(S[j]))}}; fpour; -<span class="flyspell-duplicate">fsi</span>; +fsi; S:=NULL; @@ -1022,7 +1261,7 @@ z:=[S]; Z:=sort(z); nz:=size(Z); -S:=<span class="flyspell-duplicate">NULL</span>; +S:=NULL; S:=S,Z[0]; for(j:=1;j<nz;j++){ if(Z[j]!=S[size(S)-1]){ @@ -1032,153 +1271,153 @@ Z:=[S]; nz:=size(Z); -l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";<span class="flyspell-duplicate">lsp</span>:=" "; +l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";lsp:=" "; LI:=limite(f(x),x,Z[0],1); LF:=limite(f(x),x,Z[nz-1],-1); -<span class="flyspell-duplicate">LP</span>:=NULL; +LP:=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]}; NL:=size(LL); -A:=NULL;aa:=1;<span class="flyspell-duplicate">kk</span>:=0; +A:=NULL;aa:=1;kk:=0; -if(NL==nz){for(k:=0;k<nz-1;k++){<span class="flyspell-duplicate">TestS</span>:=(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(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> <span class="flyspell-duplicate">etex</span>);"}; +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]-ao))==0.0); -<span class="flyspell-duplicate">TestL</span>:=(abs(LL[k])==abs(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 <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:=<span class="flyspell-duplicate">kk</span>+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>); +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> etex); "}; -<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[nz-2],1)); lsi:=" -<span class="flyspell-duplicate">newLigneSignes</span>(btex <span class="font-latex-math">$\\hbox{ Signe de }\\atop{\\displaystyle "+nom+"'("+nomv+")}$</span> etex);"+ - if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}<span class="flyspell-duplicate">else</span>{"moins;"}}else{if(member(Z[0],F)==0){ +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(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+ if(sign(fp((Z[0]+10^(-10))))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+ - if(sign(fp(10^(-10)+Z[0]))==1){"plus;"}else{"moins;"} }}+if(TestS==0){"valBarre(btex<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(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;"}}else{" "}; -if(nz>2){rr:=1; if(nz==NL){for(r:=1; r<=NL-2;r++){ TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-<span class="flyspell-duplicate">ao</span>))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-ao))==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(TestS==0){"valBarre(btex <span class="font-latex-math">$ $</span> etex);"}else{" "}+if(TestS==0){if(ksp==1){"plus;"}else{"moins;"}}else{" "}; }} 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{"nonDefBarre;"}+ - if(kspp==1){"plus;"}else{"moins;"}+"valBarre(btex <span class="font-latex-math">$ $</span> etex);"+if(<span class="flyspell-duplicate">kspp</span>==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;} + 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{"nonDefBarre;"}+ + if(kspp==1){"plus;"}else{"moins;"};rr:=rr+1;} }} }; -<span class="flyspell-duplicate">lsf</span>:=if(member(Z[nz-1],F)==0){""}else{"nomDefBarre;"} +lsf:=if(member(Z[nz-1],F)==0){""}else{"nomDefBarre;"} lm0:=limite(f(x),x=Z[0],1)==-infinity; -<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); 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> 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>,"}+ - 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>{" "}; + 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);"}else{" "}; - if(nz>2){if(nz==NL){for(r:=1; r<=nz-2;r++){TestS:=(sign(evalf(LL[r]-ao))==sign(<span class="flyspell-duplicate">evalf</span>(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-ao))==0.0); + if(nz>2){if(nz==NL){for(r:=1; r<=nz-2;r++){TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-ao))==0.0); krm:=evalf(limite(f(x),x=Z[r-1],1))< evalf(limite(f(x),x=Z[r],-1)); krp:=evalf(limite(f(x),x=Z[r],1))> evalf(limite(f(x),x=Z[r+1],-1)) ; lmrm:=limite(f(x),x=Z[r],-1)==-infinity;lmrp:=limite(f(x),x=Z[r],1)==-infinity; lp:=lp+if(member(Z[r],F)) { - "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],-1)))}+"$</span> etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))}+"$</span> etex,"+if(krp==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}} + "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],-1)))}+"$</span> etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))}+"$</span> etex,"+if(krp==1){"1);"}else{"0);"}} else{"valPos(btex <span class="font-latex-math">$"+latex(simplifier(f(Z[r])))+"$</span> - etex,"+if(sign(evalf(fp(Z[r]-0.01)))==sign(fp(Z[r]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);"}}}+if(TestS==0){"valPos(<span class="flyspell-duplicate">btex</span> + etex,"+if(sign(evalf(fp(Z[r]-0.01)))==sign(fp(Z[r]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);"}}}+if(TestS==0){"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]-ao))==0.0); 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[<span class="flyspell-duplicate">rr</span>+1],-1)) ; + krp:=evalf(limite(f(x),x=Z[rr],1))> evalf(limite(f(x),x=Z[rr+1],-1)) ; lmrm:=limite(f(x),x=Z[rr],-1)==-infinity;lmrp:=limite(f(x),x=Z[rr],1)==-infinity; TestL:=(abs(LL[r])==abs(LL[r+1])); if(TestS==0){if( TestL==1 ){lp:=lp}else{ lp:=lp+if(member(Z[rr],F)) { - "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],-1)))}+"$</span> etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],1)))}+"$</span> etex,"+if(krp==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}} + "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],-1)))}+"$</span> etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],1)))}+"$</span> etex,"+if(krp==1){"1);"}else{"0);"}} else{"valPos(btex <span class="font-latex-math">$"+latex(simplifier(f(Z[rr])))+"$</span> - etex,"+if(sign(evalf(fp(Z[rr]-0.01)))==sign(fp(Z[rr]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);"}}}+"valPos(<span class="flyspell-duplicate">btex</span> + etex,"+if(sign(evalf(fp(Z[rr]-0.01)))==sign(fp(Z[rr]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);"}}}+"valPos(btex <span class="font-latex-math">$ "+ao+" $</span> etex,0.5); ";rr:=rr+1; -}// else <span class="flyspell-duplicate">testL</span>==1 +}// 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(evalf(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); - "}}};rr:=<span class="flyspell-duplicate">rr</span>+1; + etex,"+if(sign(evalf(fp(Z[rr]-0.01)))==sign(fp(Z[rr]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0); + "}}};rr:=rr+1; }//else testS==0 }//for nz<NL -}// else nz<<span class="flyspell-duplicate">NL</span> +}// else nz<NL //if nz=NL -};//if <span class="flyspell-duplicate">nz</span>>2 +};//if nz>2 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);"}; + if(kz==1){"1);"}else{"0);"}; -<span class="flyspell-duplicate">intro</span>:=" +intro:=" input tableauVariation; -<span class="flyspell-duplicate">verbatimtex</span> +verbatimtex <span class="comment-delimiter">%</span><span class="comment">&latex </span> <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">documentclass</span><span class="function-name">{article}</span> - <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">usepackage</span><span class="variable-name">[upright]</span><span class="function-name">{fourier}</span> + <span class="font-latex-warning">\\</span>?fonte <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; "; -MetaL:= if(ftt==2){if(nz>2){intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +MetaL:= if(ftt==2){if(nz>2){intro+"beginTableau("+nmr+")"+ l0+lsi+lsp+lsf+" endTableau; end";}else{ -<span class="flyspell-duplicate">intro</span>+"beginTableau("+nmr+")"+ +intro+"beginTableau("+nmr+")"+ l0+ lsi+lsf+" -<span class="flyspell-duplicate">endTableau</span>; -<span class="flyspell-duplicate">end</span>"; +endTableau; +end"; } }else{ if(ftt==0){if(nz>2){intro+"beginTableau("+nmr+")"+ l0+ li+ lp+ -<span class="flyspell-duplicate">lf</span> +lf +" endTableau; -end";}else{intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +end";}else{intro+"beginTableau("+nmr+")"+ l0+ li+ -<span class="flyspell-duplicate">lf</span> +lf +" endTableau; end";}}else{ @@ -1187,64 +1426,64 @@ if(nz>2){intro+"beginTableau("+nmr+")"+ lsi+lsp+lsf+ li+ lp+ -<span class="flyspell-duplicate">lf</span> +lf +" endTableau; -end";}else{intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +end";}else{intro+"beginTableau("+nmr+")"+ l0+ lsi+lsf+ li+ -<span class="flyspell-duplicate">lf</span> +lf +" endTableau; -<span class="flyspell-duplicate">end</span>";} +end";} }}; MetaLfc:= if(ftt==2){if(nz>2){"beginTableau("+nmr+")"+ l0+lsi+lsp+lsf+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; -";}<span class="flyspell-duplicate">else</span>{ +";}else{ "beginTableau("+nmr+")"+ l0+ lsi+lsf+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; "; } }else{ -if(ftt==0){if(nz>2){"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+ l0+ li+ lp+ -<span class="flyspell-duplicate">lf</span> +lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}else{"beginTableau("+nmr+")"+ l0+ li+ lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}}else{ -if(nz>2){"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +if(nz>2){"beginTableau("+nmr+")"+ l0+ lsi+lsp+lsf+ li+ -<span class="flyspell-duplicate">lp</span>+ +lp+ lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; -";}else{"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +";}else{"beginTableau("+nmr+")"+ l0+ lsi+lsf+ li+ -<span class="flyspell-duplicate">lf</span> +lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";} }}; @@ -1256,7 +1495,7 @@ fprint(sortie,Unquoted,MetaLfc); fclose(sortie); -<span class="flyspell-duplicate">return</span>(<span class="flyspell-duplicate">MetaL</span>); +return(MetaL); }:; @@ -1282,10 +1521,10 @@ fclose(sortie); -<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTabSignL.cxx} +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=?§£]{XcasTabSignL.cxx} -<span class="flyspell-duplicate">TS</span>(L,D,nmr):={ +TS(L,D,nmr):={ L:=apply(f->unapply(f,x),L) n:=size(L); Z:=NULL; @@ -1305,7 +1544,7 @@ if(nz>2){pour u de 1 jusque nz-2 faire si Z[u]==Z[u+1] alors Z:=Z[0..u-1],Z[u+1..nz-1];nz:=nz-1; fsi; fpour;}; -<span class="flyspell-duplicate">nz</span>:=size(Z); +nz:=size(Z); if(nz==0){li:="";l0:="val(btex <span class="font-latex-math">$"+latex(D[0])+"$</span> etex);val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> etex);"; for(p:=0;p<=n-1;p++){li:=li+" @@ -1314,17 +1553,17 @@ if(mini!=-infinity and L[p](mini)==0){" valBarre(btex 0 etex);"}else{" "}+ if(L[p]((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}+if(maxi!=+infinity and L[p](maxi)==0){" - valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" + valBarre(btex 0 etex);"}else{" "} } lf:=if(product(L[s]((mini+maxi)*.5),s,0,n-1)>0){"plus;"}else{"moins;"}; MetaL:=" input tableauVariation; - <span class="flyspell-duplicate">verbatimtex</span> + verbatimtex <span class="comment-delimiter">%</span><span class="comment">&latex </span> <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">documentclass</span><span class="function-name">{article}</span> - <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">usepackage</span><span class="variable-name">[upright]</span><span class="function-name">{fourier}</span> + <span class="font-latex-warning">\\</span>?fonte <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> @@ -1339,14 +1578,14 @@ newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> etex valBarre(btex 0 etex);"}else{" "}+ lf+ if(maxi!=+infinity and product(L[s](maxi),s,0,n-1)==0){" - valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" + valBarre(btex 0 etex);"}else{" "}+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; end" ; -<span class="flyspell-duplicate">MetaLfc</span>:=" beginTableau("+nmr+") +MetaLfc:=" beginTableau("+nmr+") newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> etex); "+l0+li+ " @@ -1357,7 +1596,7 @@ newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> etex if(maxi!=+infinity and product(L[s](maxi),s,0,n-1)==0){" valBarre(btex 0 etex);"}else{" "}+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; " ; @@ -1369,11 +1608,11 @@ pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+ l0:=l0+"val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> etex);"; -for(p:=0;p<=n-1;p++){<span class="flyspell-duplicate">lp</span>:=""; +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> etex);"+ if(mini!=-infinity and L[p](mini)==0){" - valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" + valBarre(btex 0 etex);"}else{" "}+ if(L[p](Z[0]-0.01)>0){"plus;"}else{"moins;"}; @@ -1386,7 +1625,7 @@ newLigneSignes(btex <span class="font-latex-math">$\\hbox{\</span><span class="f li:=li+lp+ if(simplifier(L[p](Z[nz-1]))==0){"valBarre(btex 0 etex);"}else{"barre;"}+ if(L[p](Z[nz-1]+1.0)>0){"plus;"}else{"moins; "}+if(maxi!=+infinity and L[p](maxi)==0){" - valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" + valBarre(btex 0 etex);"}else{" "} }; @@ -1399,11 +1638,11 @@ 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> + <span class="font-latex-warning">\\</span>?fonte <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">usepackage</span><span class="function-name">{amsmath}</span> <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">newcommand</span><span class="function-name">{</span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">Mathbold}</span>[1]{<span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">mbox</span><span class="function-name">{</span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">boldmath</span><span class="function-name"><span class="font-latex-math">$#1$</span></span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">unboldmath}</span>} <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">begin</span><span class="function-name">{document}</span> - <span class="flyspell-duplicate">etex</span>; + etex; beginTableau("+nmr+") newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> etex); "+l0+ @@ -1414,37 +1653,37 @@ newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> etex if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){" valBarre(btex 0 etex);"}else{" "}+ - if(product(L[s](Z[0]-0.01),s,0,n-1)>0){"plus;"}else{"moins;"}+"valBarre(btex 0 <span class="flyspell-duplicate">etex</span>);"+ + if(product(L[s](Z[0]-0.01),s,0,n-1)>0){"plus;"}else{"moins;"}+"valBarre(btex 0 etex);"+ lr+ if(product(L[s](Z[nz-1]+0.01),s,0,n-1)>0){"plus;"}else{"moins;"}+ if(maxi!=+infinity and product(L[s](maxi),s,0,n-1)==0){" valBarre(btex 0 etex);"}else{" "}+" endTableau; -<span class="flyspell-duplicate">end</span>" +end" ; MetaLfc:=" beginTableau("+nmr+") -<span class="flyspell-duplicate">newLigneVariables</span>(btex <span class="font-latex-math">$\\Mathbold{x}$</span> etex); +newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> etex); "+l0+ li + " newLigneSignes(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe du }\\atop{{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> produit}}$</span> etex);"+ if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){" - valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" + valBarre(btex 0 etex);"}else{" "}+ if(product(L[s](Z[0]-0.01),s,0,n-1)>0){"plus;"}else{"moins;"}+"valBarre(btex 0 etex);"+ lr+ if(product(L[s](Z[nz-1]+0.01),s,0,n-1)>0){"plus;"}else{"moins;"}+ if(maxi!=+infinity and product(L[s](maxi),s,0,n-1)==0){" - valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" + valBarre(btex 0 etex);"}else{" "}+" endTableau; "; } sortie:=fopen("XCasmpfc.mp"); -<span class="flyspell-duplicate">fprint</span>(sortie,Unquoted,MetaLfc); +fprint(sortie,Unquoted,MetaLfc); fclose(sortie); return(MetaL); }:; @@ -1460,8 +1699,8 @@ return(MetaL); </span> -<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTabSignQ.cxx} -<span class="flyspell-duplicate">TSq</span>(nomf,L,Fo,D,nmr):={ +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=?§£]{XcasTabSignQ.cxx} +TSq(nomf,L,Fo,D,nmr):={ L:=apply(f->unapply(f,x),L); Fo:=apply(f->unapply(f,x),Fo); L:=concat(L,Fo); @@ -1478,7 +1717,7 @@ pour k de 0 jusque n-1 faire if(S[j]>mini and S[j]<maxi){Z:=Z,simplifier(S[j]);} fpour; fsi; -<span class="flyspell-duplicate">fpour</span>; +fpour; pour k de 0 jusque m-1 faire @@ -1497,60 +1736,60 @@ nz:=size(Z); if(nz>2){pour u de 1 jusque nz-2 faire si Z[u]==Z[u+1] alors Z:=Z[0..u-1],Z[u+1..nz-1];nz:=nz-1; // pour les zéros en double fsi; -<span class="flyspell-duplicate">fpour</span>;} +fpour;} Z:=sort(Z); nz:=size(Z); if(nz>2){pour u de 1 jusque nz-2 faire - si Z[u]==Z[u+1] alors Z:=Z[0..u-1],Z[u+1..nz-1];nz:=<span class="flyspell-duplicate">nz</span>-1; + si Z[u]==Z[u+1] alors Z:=Z[0..u-1],Z[u+1..nz-1];nz:=nz-1; fsi; fpour;}; nz:=size(Z); -if(nz==0){li:="";l0:="val(btex <span class="font-latex-math">$"+latex(D[0])+"$</span> etex);val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> <span class="flyspell-duplicate">etex</span>);"; +if(nz==0){li:="";l0:="val(btex <span class="font-latex-math">$"+latex(D[0])+"$</span> etex);val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> etex);"; for(p:=0;p<=n-1;p++){li:=li+" -<span class="flyspell-duplicate">newLigneSignes</span>(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(L[p](x))+"}}$</span> <span class="flyspell-duplicate">etex</span>);"+ +newLigneSignes(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(L[p](x))+"}}$</span> etex);"+ if(mini!=-infinity and L[p](mini)==0){" valBarre(btex 0 etex);"}else{" "}+ -if(L[p]((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}+if(maxi!=+infinity and L[p](<span class="flyspell-duplicate">maxi</span>)==0){" +if(L[p]((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}+if(maxi!=+infinity and L[p](maxi)==0){" valBarre(btex 0 etex);"}else{" "} } lf:=if(product(L[s]((mini+maxi)*.5),s,0,n-1)>0){"plus;"}else{"moins;"}; -<span class="flyspell-duplicate">MetaL</span>:=" input tableauVariation; +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> + <span class="font-latex-warning">\\</span>?fonte <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> etex; beginTableau("+nmr+") -newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> <span class="flyspell-duplicate">etex</span>); +newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> etex); "+l0+li+ " newLigneSignes(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe }\\atop{{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> de "+nomf+"(x)}}$</span> etex);"+ if(member(mini,FF)==0){if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){" valBarre(btex 0 etex);"}else{" - "}}else{"nonDefBarre;"}+ <span class="flyspell-duplicate">lf</span>+ + "}}else{"nonDefBarre;"}+ lf+ if(member(maxi,FF)==0){if(maxi!=+infinity and product(L[s](maxi),s,0,n-1)==0){" valBarre(btex 0 etex);"}else{" "}}else{"nonDefBarre;"}+" endTableau; -<span class="flyspell-duplicate">end</span>" +end" ; MetaLfc:=" -<span class="flyspell-duplicate">beginTableau</span>("+nmr+") +beginTableau("+nmr+") newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> etex); "+l0+li+ " @@ -1561,7 +1800,7 @@ newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> etex if(member(maxi,FF)==0){if(maxi!=+infinity and product(L[s](maxi),s,0,n-1)==0){" valBarre(btex 0 etex);"}else{" "}}else{"nonDefBarre;"}+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; " ; @@ -1569,20 +1808,20 @@ newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> etex -}<span class="flyspell-duplicate">else</span>{ +}else{ l0:="val(btex <span class="font-latex-math">$"+latex(D[0])+"$</span> etex);";li:=" ";lr:=" "; pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> etex); ";fpour; -l0:=l0+"val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> <span class="flyspell-duplicate">etex</span>);"; +l0:=l0+"val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> etex);"; -for(p:=0;p<=n-1;p++){<span class="flyspell-duplicate">lp</span>:=""; +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> etex);"+ if(mini!=-infinity and L[p](mini)==0){" - valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" + valBarre(btex 0 etex);"}else{" "}+ if(L[p](Z[0]-0.01)>0){"plus;"}else{"moins;"}; @@ -1595,7 +1834,7 @@ newLigneSignes(btex <span class="font-latex-math">$\\hbox{\</span><span class="f li:=li+lp+ if(simplifier(L[p](Z[nz-1]))==0){"valBarre(btex 0 etex);"}else{"barre;"}+ if(L[p](Z[nz-1]+1.0)>0){"plus;"}else{"moins; "}+if(maxi!=+infinity and L[p](maxi)==0){" - valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" "} + valBarre(btex 0 etex);"}else{" "} }; @@ -1605,11 +1844,11 @@ pour t de 0 jusque nz-2 faire if(member(Z[t+1],FF)==0){"valBarre(btex 0 etex);"}else{ "nonDefBarre;"} fpour -<span class="flyspell-duplicate">MetaL</span>:=" input tableauVariation; -<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> + <span class="font-latex-warning">\\</span>?fonte <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> @@ -1622,7 +1861,7 @@ newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> etex " newLigneSignes(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe de}\\atop{{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> "+nomf+"(x)}}$</span> etex);"+ if(member(mini,FF)==0){if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){" - valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" + valBarre(btex 0 etex);"}else{" "}}else{"nonDefBarre;"}+ if(product(L[s](Z[0]-0.01),s,0,n-1)>0){"plus;"}else{"moins;"}+ if(member(Z[0],FF)==0){"valBarre(btex 0 etex);"}else{ "nonDefBarre;"}+ @@ -1630,8 +1869,8 @@ newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> etex if(product(L[s](Z[nz-1]+0.01),s,0,n-1)>0){"plus;"}else{"moins;"}+ if(member(maxi,FF)==0){if(maxi!=+infinity and product(L[s](maxi),s,0,n-1)==0){" valBarre(btex 0 etex);"}else{" "}}else{"nonDefBarre;"}+" -<span class="flyspell-duplicate">endTableau</span>; -<span class="flyspell-duplicate">end</span>" +endTableau; +end" ; @@ -1639,7 +1878,7 @@ newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> etex MetaLfc:=" beginTableau("+nmr+") -newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> <span class="flyspell-duplicate">etex</span>); +newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> etex); "+l0+ li + @@ -1647,14 +1886,14 @@ newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> <spa 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(member(mini,FF)==0){if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){" valBarre(btex 0 etex);"}else{" - "}}else{"<span class="flyspell-duplicate">nonDefBarre</span>;"}+ + "}}else{"nonDefBarre;"}+ if(product(L[s](Z[0]-0.01),s,0,n-1)>0){"plus;"}else{"moins;"}+ if(member(Z[0],FF)==0){"valBarre(btex 0 etex);"}else{ "nonDefBarre;"}+ lr+ if(product(L[s](Z[nz-1]+0.01),s,0,n-1)>0){"plus;"}else{"moins;"}+ if(member(maxi,FF)==0){if(maxi!=+infinity and product(L[s](maxi),s,0,n-1)==0){" valBarre(btex 0 etex);"}else{" "}}else{"nonDefBarre;"}+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; " @@ -1665,14 +1904,14 @@ newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> <spa sortie:=fopen("XCasmpfc.mp"); -<span class="flyspell-duplicate">fprint</span>(sortie,Unquoted,MetaLfc); +fprint(sortie,Unquoted,MetaLfc); fclose(sortie); -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> @@ -1687,17 +1926,17 @@ return(<span class="flyspell-duplicate">MetaL</span>); -<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTabSign.cxx} -<span class="flyspell-duplicate">TSa</span>(a,b,c,d,nmr):={ -<span class="flyspell-duplicate">zA</span>:=resoudre(a*x+b=0,x)[0]; +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=?§£]{XcasTabSign.cxx} +TSa(a,b,c,d,nmr):={ +zA:=resoudre(a*x+b=0,x)[0]; zB:=resoudre(c*x+d=0,x)[0]; zmin:=min(zA,zB); -zmax:=max(zA,<span class="flyspell-duplicate">zB</span>); +zmax:=max(zA,zB); Meta:= " input tableauVariation; - <span class="flyspell-duplicate">verbatimtex</span> + verbatimtex <span class="comment-delimiter">%</span><span class="comment">&latex </span> <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">documentclass</span><span class="function-name">{article}</span> - <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">usepackage</span><span class="variable-name">[upright]</span><span class="function-name">{fourier}</span> + <span class="font-latex-warning">\\</span>?fonte <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> @@ -1706,12 +1945,12 @@ zmax:=max(zA,<span class="flyspell-duplicate">zB</span>); newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> etex); val(btex <span class="font-latex-math">$-\\infty$</span> etex);val(btex <span class="font-latex-math">$"+latex(zmin)+"$</span> etex); val(btex <span class="font-latex-math">$"+latex(zmax)+"$</span>etex); -val(btex <span class="font-latex-math">$+\\infty$</span> <span class="flyspell-duplicate">etex</span>); +val(btex <span class="font-latex-math">$+\\infty$</span> etex); newLigneSignes(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe de }\\atop{\\displaystyle \\Mathbold{"+if(a==1){"x+"}else{if(a==-1){"-x+"}else{a+"x+"}}+b+"}}$</span> etex);" + if(a>0){"moins;"}else{"plus;"}+ if(zmin==zA){"valBarre(btex 0 etex);"}else{"barre;"}+ if(zmin==zA){si a>0 alors "plus;"; sinon "moins;";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;"} +" @@ -1720,20 +1959,20 @@ newLigneSignes(btex <span class="font-latex-math">$\\hbox{\</span><span class="f if(zmin==zB){"valBarre(btex 0 etex);"}else{"barre;"}+ 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(zmin==zB){"barre;"}else{"valBarre(btex 0 etex);"}+ 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> etex);" - + si a*c>0 alors plus; sinon moins;<span class="flyspell-duplicate">fsi</span>+";"+ + + si a*c>0 alors plus; sinon moins;fsi+";"+ "valBarre(btex 0 etex);"+ - si a*c>0 alors moins; sinon plus;<span class="flyspell-duplicate">fsi</span>+";"+ + 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>" +end" ; -return(<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> @@ -1749,8 +1988,8 @@ return(<span class="flyspell-duplicate">Meta</span>); -<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{<span class="flyspell-duplicate">XcasTSc</span>.cxx} -<span class="flyspell-duplicate">TSc</span>(g,D,nmr):={ +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=?§£]{XcasTSc.cxx} +TSc(g,D,nmr):={ f:=unapply(g,x); Z:=NULL; mini:=D[0]; maxi:=D[1];lm:=" "; @@ -1761,13 +2000,13 @@ li:=if(mini!=-infinity and f(mini)==0){" valBarre(btex 0 etex);"}else{" "}+ if(mini!=-infinity or maxi!=+infinity){if(f((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}}else{if(f(0)>0){"plus;"}else{"moins;"}}; -<span class="flyspell-duplicate">lf</span>:=if(maxi!=+infinity and f(maxi)==0){" - valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" +lf:=if(maxi!=+infinity and f(maxi)==0){" + valBarre(btex 0 etex);"}else{" "}; } else{pour j de 0 jusque size(S)-1 faire if(S[j]>mini and S[j]<maxi){Z:=Z,simplifier(S[j])}; - <span class="flyspell-duplicate">fpour</span>; + fpour; Z:=sort(Z); @@ -1775,7 +2014,7 @@ nz:=size(Z); if(nz>2){pour u de 1 jusque nz-2 faire si Z[u]==Z[u+1] alors Z:=Z[0..u-1],Z[u+1..nz-1];nz:=nz-1; fsi; -<span class="flyspell-duplicate">fpour</span>;} +fpour;} nz:=size(Z); @@ -1785,15 +2024,15 @@ li:=if(mini!=-infinity and f(mini)==0){" valBarre(btex 0 etex);"}else{" "}+ if(f((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}; -<span class="flyspell-duplicate">lf</span>:=if(maxi!=+infinity and f(maxi)==0){" - valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" +lf:=if(maxi!=+infinity and f(maxi)==0){" + valBarre(btex 0 etex);"}else{" "}; }else{ l0:="val(btex <span class="font-latex-math">$"+latex(D[0])+"$</span> etex);";li:=" "; pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> etex); "; -<span class="flyspell-duplicate">fpour</span>; +fpour; l0:=l0+"val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> etex);"; li:= if(mini!=-infinity and f(mini)==0){" @@ -1802,43 +2041,43 @@ li:= if(mini!=-infinity and f(mini)==0){" if(f(Z[0]-0.01)>0){"plus;"}else{"moins;"}+"valBarre(btex 0 etex);"; lm:=if(nz>=2){for(r:=0; r<=nz-2;r++){lm:=lm+if(f((Z[r]+Z[r+1])*.5)>0){"plus;"}else{"moins;"}+ - "valBarre(btex 0 <span class="flyspell-duplicate">etex</span>);" + "valBarre(btex 0 etex);" }}else{" "}; -<span class="flyspell-duplicate">lf</span>:=if(f(Z[nz-1]+1.0)>0){"plus;"}else{"moins;"}+if(maxi!=+infinity and f(maxi)==0){"valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" +lf:=if(f(Z[nz-1]+1.0)>0){"plus;"}else{"moins;"}+if(maxi!=+infinity and f(maxi)==0){"valBarre(btex 0 etex);"}else{" "}; }}; -<span class="flyspell-duplicate">MetaL</span>:=" input tableauVariation; +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> + <span class="font-latex-warning">\\</span>?fonte <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> etex; beginTableau("+nmr+") -<span class="flyspell-duplicate">newLigneVariables</span>(btex <span class="font-latex-math">$\\Mathbold{x}$</span> etex); +newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> etex); "+l0+" -<span class="flyspell-duplicate">newLigneSignes</span>(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(f(x))+"}}$</span> etex);"+ +newLigneSignes(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(f(x))+"}}$</span> etex);"+ li+lm+lf +" endTableau; -<span class="flyspell-duplicate">end</span>" +end" ; MetaLfc:=" -<span class="flyspell-duplicate">beginTableau</span>("+nmr+") -newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> <span class="flyspell-duplicate">etex</span>); +beginTableau("+nmr+") +newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> etex); "+l0+" newLigneSignes(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(f(x))+"}}$</span> etex);"+ li+lm+lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; " ; @@ -1865,7 +2104,7 @@ return(MetaL); <span class="comment-delimiter">%%</span><span class="comment"> </span><span class="comment-delimiter">%%</span><span class="comment"> -</span><span class="comment-delimiter">%% </span><span class="comment">traitement des fichiers produits par giac/</span><span class="comment"><span class="flyspell-duplicate">xcas</span></span><span class="comment"> +</span><span class="comment-delimiter">%% </span><span class="comment">traitement des fichiers produits par giac/xcas </span><span class="comment-delimiter">%%</span><span class="comment"> </span><span class="comment-delimiter">%%</span><span class="comment"> </span> @@ -1879,19 +2118,19 @@ return(MetaL); </span> <span class="comment">% exporter le source mp </span> <span class="comment">% puis lancer metapost pour créer </span> <span class="comment">% l'image du tableau -</span> <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cat</span> XCasmpfc.mp >> <span class="font-latex-sedate">\Tableaux</span>.Tab.<span class="flyspell-duplicate">mp</span>} +</span> <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cat</span> XCasmpfc.mp >> <span class="font-latex-sedate">\Tableaux</span>.Tab.mp} <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{mpost -interaction=batchmode -jobname=<span class="font-latex-sedate">\Tableaux</span>.Tab XCasmp#1}}<span class="comment">% </span> {<span class="comment">% sinon, si le tableau est absent, alerte. </span> <span class="font-latex-sedate">\IfFileExists</span>{<span class="font-latex-sedate">\Tableaux</span>.Tab.<span class="font-latex-sedate">\theTVn</span>}{}{<span class="comment">% </span> <span class="font-latex-sedate">\PackageError</span>{tablor}{Tableau absent non reconstituable.}{Pour compiler il faut, soit les fichiers de tableaux, soit le fichier <span class="font-latex-sedate">\Tableaux</span>.Tab.mp, soit disposer de - <span class="flyspell-duplicate">XCas</span>.}}} + XCas.}}} <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="font-latex-sedate">\Tableaux</span>.Tab.<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">\stepcounter</span>{TVn}} <span class="comment-delimiter">%%</span><span class="comment"> @@ -1904,14 +2143,14 @@ return(MetaL); <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">\dressetoile</span></span><span class="function-name">}</span>[1]{<span class="comment">% </span><span class="font-latex-sedate">\IfFileExists</span>{<span class="font-latex-sedate">\Tableaux</span>.Tab.<span class="font-latex-sedate">\theTVn</span>}{<span class="comment">% Test sur l'existence du tableau </span><span class="comment-delimiter">% </span><span class="comment">Si oui, inclusion du fichier source de sauvegarde mp dans Tableaux -</span><span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cat</span> <span class="flyspell-duplicate">TSav</span>-<span class="font-latex-sedate">\theTVn</span>.mp >> <span class="font-latex-sedate">\Tableaux</span>.Tab.mp}} +</span><span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cat</span> TSav-<span class="font-latex-sedate">\theTVn</span>.mp >> <span class="font-latex-sedate">\Tableaux</span>.Tab.mp}} <span class="comment-delimiter">% </span><span class="comment">Si non, lancement des opérations de fabrication </span>{<span class="font-latex-sedate">\executGiacmp</span>{XCas#1.giac}<span class="comment">% </span><span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\editeur</span> XCasmpfc.mp} <span class="comment">% Modification avec l'éditeur choisi </span> -<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cp</span> -f XCasmpfc.mp <span class="flyspell-duplicate">TSav</span>-<span class="font-latex-sedate">\theTVn</span>.mp} <span class="comment">% Sauvegarde du +<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cp</span> -f XCasmpfc.mp TSav-<span class="font-latex-sedate">\theTVn</span>.mp} <span class="comment">% Sauvegarde du </span> <span class="comment">% source mp sur le disque pour une </span> <span class="comment">% inclusion ultérieure dans Tableaux.mp. </span><span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cat</span> XCasmpfc.mp >> <span class="font-latex-sedate">\Tableaux</span>.Tab.mp}} <span class="comment">% Inclusion du @@ -1928,7 +2167,7 @@ return(MetaL); <span class="font-latex-sedate">\includegraphics</span>{<span class="font-latex-sedate">\Tableaux</span>.Tab.<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"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVnbis</span></span><span class="variable-name">}</span> <span class="comment">% Restauration du compteur </span><span class="comment"><span class="flyspell-duplicate">TVn</span></span><span class="comment"> +<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVnbis</span></span><span class="variable-name">}</span> <span class="comment">% Restauration du compteur TVn </span>} @@ -1941,7 +2180,7 @@ return(MetaL); </span><span class="comment-delimiter">%%</span><span class="comment"> </span><span class="comment-delimiter">%%%</span><span class="comment"> </span><span class="comment-delimiter">%%%</span><span class="comment"> -</span><span class="comment-delimiter">%%% </span><span class="comment">les "giac" qui permettent d'exécuter la commande rentrée dans le fichier </span><span class="comment"><span class="flyspell-duplicate">tex</span></span><span class="comment"> +</span><span class="comment-delimiter">%%% </span><span class="comment">les "giac" qui permettent d'exécuter la commande rentrée dans le fichier tex </span><span class="comment-delimiter">%%% </span><span class="comment">suivis des environnements qui permettront la saisie du code giac/xcas </span><span class="comment-delimiter">%%% </span><span class="comment">Les versions étoilées permettent de modifier le code metapost produit initialement </span><span class="comment-delimiter">%%%</span><span class="comment"> @@ -1950,21 +2189,21 @@ return(MetaL); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCas.giac} -<span class="flyspell-duplicate">maple</span>_mode(0); +maple_mode(0); read("XcasTabSign.cxx"); -Sortie:=fopen("XCasmp.<span class="flyspell-duplicate">mp</span>"); +Sortie:=fopen("XCasmp.mp"); vect.xcas.user := read("XCas.user"); -<span class="flyspell-duplicate">vxo</span> := vect.xcas.user; +vxo := vect.xcas.user; dim.vxo := dim(vxo); -<span class="flyspell-duplicate">nbr</span>.line.vxo := dim.vxo; +nbr.line.vxo := dim.vxo; Resultat:=cat(" "); -<span class="flyspell-duplicate">rslt</span> := vxo[0]; RslT:=cat(rslt); +rslt := vxo[0]; RslT:=cat(rslt); Resultat:=cat(Resultat,RslT); -<span class="flyspell-duplicate">fprint</span>(Sortie,Unquoted,Resultat); +fprint(Sortie,Unquoted,Resultat); fclose(Sortie); <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> -<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{</span><span class="function-name"><span class="flyspell-duplicate">TSa</span></span><span class="function-name">}</span> +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TSa}</span> {<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>£µ]{XCas.user}} {<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> <span class="font-latex-sedate">\dresse</span>{} @@ -1980,48 +2219,48 @@ fclose(Sortie); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasQ.giac} maple_mode(0); -<span class="flyspell-duplicate">read</span>("XcasTabSignQ.cxx"); +read("XcasTabSignQ.cxx"); Sortie:=fopen("XCasmpQ.mp"); -<span class="flyspell-duplicate">vect</span>.xcas.user := read("XCasQ.user"); -<span class="flyspell-duplicate">vxo</span> := vect.xcas.user; -<span class="flyspell-duplicate">dim</span>.vxo := dim(vxo); +vect.xcas.user := read("XCasQ.user"); +vxo := vect.xcas.user; +dim.vxo := dim(vxo); nbr.line.vxo := dim.vxo; -<span class="flyspell-duplicate">Resultat</span>:=cat(" "); +Resultat:=cat(" "); rslt := vxo[0]; RslT:=cat(rslt); -<span class="flyspell-duplicate">Resultat</span>:=cat(Resultat,RslT); +Resultat:=cat(Resultat,RslT); fprint(Sortie,Unquoted,Resultat); -<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">{</span><span class="function-name"><span class="flyspell-duplicate">TSq</span></span><span class="function-name">}</span><span class="comment">% +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TSq}</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>£µ]{XCasQ.user}} {<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dresse</span>{Q}} -<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>[1]<span class="comment">% +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TSq*}</span>[1]<span class="comment">% </span>{<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVnbis}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVn</span></span><span class="variable-name">}</span> -<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{</span><span class="variable-name"><span class="flyspell-duplicate">TVn</span></span><span class="variable-name">}{#1}</span> +<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{#1}</span> <span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>£µ]{XCasQ.user}} {<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{Q}} <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasL.giac} maple_mode(0); -<span class="flyspell-duplicate">read</span>("XcasTabSignL.cxx"); +read("XcasTabSignL.cxx"); Sortie:=fopen("XCasmpL.mp"); -<span class="flyspell-duplicate">vect</span>.xcas.user := read("XCasL.user"); +vect.xcas.user := read("XCasL.user"); vxo := vect.xcas.user; -<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(" "); +dim.vxo := dim(vxo); +nbr.line.vxo := dim.vxo; +Resultat:=cat(" "); rslt := vxo[0]; RslT:=cat(rslt); -<span class="flyspell-duplicate">Resultat</span>:=cat(Resultat,RslT); +Resultat:=cat(Resultat,RslT); fprint(Sortie,Unquoted,Resultat); -<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">{</span><span class="function-name"><span class="flyspell-duplicate">TS</span></span><span class="function-name">}</span><span class="comment">% +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TS}</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>£µ]{XCasL.user}} {<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dresse</span>{L}} @@ -2034,60 +2273,99 @@ fprint(Sortie,Unquoted,Resultat); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasTSc.giac} -<span class="flyspell-duplicate">maple</span>_mode(0); +maple_mode(0); read("XcasTSc.cxx"); Sortie:=fopen("XCasmpTSc.mp"); vect.xcas.user := read("XCasTSc.user"); -<span class="flyspell-duplicate">vxo</span> := vect.xcas.user; +vxo := vect.xcas.user; dim.vxo := dim(vxo); -<span class="flyspell-duplicate">nbr</span>.line.vxo := dim.vxo; +nbr.line.vxo := dim.vxo; Resultat:=cat(" "); -<span class="flyspell-duplicate">rslt</span> := vxo[0]; RslT:=cat(rslt); +rslt := vxo[0]; RslT:=cat(rslt); Resultat:=cat(Resultat,RslT); -<span class="flyspell-duplicate">fprint</span>(Sortie,Unquoted,Resultat); +fprint(Sortie,Unquoted,Resultat); fclose(Sortie); <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> -<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{</span><span class="function-name"><span class="flyspell-duplicate">TSc</span></span><span class="function-name">*}</span>[1]<span class="comment">% +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TSc*}</span>[1]<span class="comment">% </span>{<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVnbis}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVn</span></span><span class="variable-name">}</span> -<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{</span><span class="variable-name"><span class="flyspell-duplicate">TVn</span></span><span class="variable-name">}{#1}</span> +<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{#1}</span> <span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>£µ]{XCasTSc.user}} -{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{<span class="flyspell-duplicate">TSc</span>}} +{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{TSc}} <span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TSc}</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>£µ]{XCasTSc.user}} -{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dresse</span>{<span class="flyspell-duplicate">TSc</span>}} +{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dresse</span>{TSc}} <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasTV.giac} -<span class="flyspell-duplicate">maple</span>_mode(0); +maple_mode(0); read("XcasTV.cxx"); Sortie:=fopen("XCasmpTV.mp"); -<span class="flyspell-duplicate">vect</span>.xcas.user := read("XCasTV.user"); -<span class="flyspell-duplicate">vxo</span> := vect.xcas.user; +vect.xcas.user := read("XCasTV.user"); +vxo := vect.xcas.user; dim.vxo := dim(vxo); -<span class="flyspell-duplicate">nbr</span>.line.vxo := dim.vxo; +nbr.line.vxo := dim.vxo; Resultat:=cat(" "); -<span class="flyspell-duplicate">rslt</span> := vxo[0]; RslT:=cat(rslt); +rslt := vxo[0]; RslT:=cat(rslt); Resultat:=cat(Resultat,RslT); -<span class="flyspell-duplicate">fprint</span>(Sortie,Unquoted,Resultat); +fprint(Sortie,Unquoted,Resultat); fclose(Sortie); <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> <span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TV}</span><span class="comment">% </span>{<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>£µ]{XCasTV.user}}<span class="comment">% </span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> -<span class="font-latex-sedate">\dresse</span>{<span class="flyspell-duplicate">TV</span>}} +<span class="font-latex-sedate">\dresse</span>{TV}} -<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{</span><span class="function-name"><span class="flyspell-duplicate">TV</span></span><span class="function-name">*}</span>[1]{<span class="comment">% +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TV*}</span>[1]{<span class="comment">% </span><span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVnbis}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVn</span></span><span class="variable-name">}</span> -<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{</span><span class="variable-name"><span class="flyspell-duplicate">TVn</span></span><span class="variable-name">}{#1}</span> +<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{#1}</span> <span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>£µ]{XCasTV.user}}<span class="comment">% -</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{<span class="flyspell-duplicate">TV</span>}} +</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{TV}} + + + + + + + + + + + +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasTVZ.giac} +maple_mode(0); +read("XcasTVZ.cxx"); +Sortie:=fopen("XCasmpTVZ.mp"); +vect.xcas.user := read("XCasTVZ.user"); +vxo := vect.xcas.user; +dim.vxo := dim(vxo); +nbr.line.vxo := dim.vxo; +Resultat:=cat(" "); +rslt := vxo[0]; RslT:=cat(rslt); +Resultat:=cat(Resultat,RslT); +fprint(Sortie,Unquoted,Resultat); +fclose(Sortie); +<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> + +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVZ}</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>£µ]{XCasTVZ.user}}<span class="comment">% +</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> +<span class="font-latex-sedate">\dresse</span>{TVZ}} + +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVZ*}</span>[1]{<span class="comment">% +</span><span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVnbis}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVn</span></span><span class="variable-name">}</span> +<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{#1}</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>£µ]{XCasTVZ.user}}<span class="comment">% +</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{TVZ}} + + + @@ -2097,16 +2375,16 @@ fclose(Sortie); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasTVapp.giac} maple_mode(0); -<span class="flyspell-duplicate">read</span>("XcasTVapp.cxx"); +read("XcasTVapp.cxx"); Sortie:=fopen("XCasmpTVapp.mp"); vect.xcas.user := read("XCasTVapp.user"); -<span class="flyspell-duplicate">vxo</span> := vect.xcas.user; +vxo := vect.xcas.user; dim.vxo := dim(vxo); nbr.line.vxo := dim.vxo; Resultat:=cat(" "); -<span class="flyspell-duplicate">rslt</span> := vxo[0]; RslT:=cat(rslt); +rslt := vxo[0]; RslT:=cat(rslt); Resultat:=cat(Resultat,RslT); -<span class="flyspell-duplicate">fprint</span>(Sortie,Unquoted,Resultat); +fprint(Sortie,Unquoted,Resultat); fclose(Sortie); <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> @@ -2117,9 +2395,9 @@ fclose(Sortie); <span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVapp*}</span>[1]{<span class="comment">% </span><span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVnbis}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVn</span></span><span class="variable-name">}</span> -<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{</span><span class="variable-name"><span class="flyspell-duplicate">TVn</span></span><span class="variable-name">}{#1}</span> +<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{#1}</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>£µ]{XCasTVapp.user}}<span class="comment">% -</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{<span class="flyspell-duplicate">TVapp</span>}} +</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{TVapp}} @@ -2136,13 +2414,13 @@ maple_mode(0); read("XcasTVI.cxx"); Sortie:=fopen("XCasmpTVI.mp"); vect.xcas.user := read("XCasTVI.user"); -<span class="flyspell-duplicate">vxo</span> := vect.xcas.user; +vxo := vect.xcas.user; dim.vxo := dim(vxo); nbr.line.vxo := dim.vxo; Resultat:=cat(" "); -<span class="flyspell-duplicate">rslt</span> := vxo[0]; RslT:=cat(rslt); +rslt := vxo[0]; RslT:=cat(rslt); Resultat:=cat(Resultat,RslT); -<span class="flyspell-duplicate">fprint</span>(Sortie,Unquoted,Resultat); +fprint(Sortie,Unquoted,Resultat); fclose(Sortie); <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> @@ -2153,9 +2431,9 @@ fclose(Sortie); <span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVI*}</span>[1]<span class="comment">% </span>{<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVnbis}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVn</span></span><span class="variable-name">}</span> -<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{</span><span class="variable-name"><span class="flyspell-duplicate">TVn</span></span><span class="variable-name">}{#1}</span> +<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{#1}</span> <span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>£µ]{XCasTVI.user}}<span class="comment">% -</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{<span class="flyspell-duplicate">TVI</span>}} +</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{TVI}} @@ -2166,27 +2444,27 @@ fclose(Sortie); maple_mode(0); read("XcasTVIapp.cxx"); Sortie:=fopen("XCasmpTVIapp.mp"); -<span class="flyspell-duplicate">vect</span>.xcas.user := read("XCasTVIapp.user"); +vect.xcas.user := read("XCasTVIapp.user"); vxo := vect.xcas.user; dim.vxo := dim(vxo); nbr.line.vxo := dim.vxo; Resultat:=cat(" "); rslt := vxo[0]; RslT:=cat(rslt); -<span class="flyspell-duplicate">Resultat</span>:=cat(Resultat,RslT); +Resultat:=cat(Resultat,RslT); fprint(Sortie,Unquoted,Resultat); fclose(Sortie); <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> -<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{</span><span class="function-name"><span class="flyspell-duplicate">TVIapp</span></span><span class="function-name">}</span><span class="comment">% +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVIapp}</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>£µ]{XCasTVIapp.user}}<span class="comment">% </span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dresse</span>{TVIapp}} -<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{</span><span class="function-name"><span class="flyspell-duplicate">TVIapp</span></span><span class="function-name">*}</span>[1]<span class="comment">% +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVIapp*}</span>[1]<span class="comment">% </span>{<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVnbis}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVn</span></span><span class="variable-name">}</span> <span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{#1}</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>£µ]{XCasTVIapp.user}}<span class="comment">% -</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{<span class="flyspell-duplicate">TVIapp</span>}} +</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{TVIapp}} @@ -2195,7 +2473,7 @@ fclose(Sortie); <span class="comment-delimiter">%%</span><span class="comment"> -</span><span class="comment-delimiter">%% </span><span class="comment">Zi end -> </span><span class="comment"><span class="flyspell-incorrect">enjoy</span></span><span class="comment"> :) +</span><span class="comment-delimiter">%% </span><span class="comment">Zi end -> enjoy :) </span></pre> </body> </html> diff --git a/Master/texmf-dist/doc/latex/tablor/tablor.pdf b/Master/texmf-dist/doc/latex/tablor/tablor.pdf Binary files differindex f9eb59537b8..9da5fd2ad8f 100644 --- a/Master/texmf-dist/doc/latex/tablor/tablor.pdf +++ b/Master/texmf-dist/doc/latex/tablor/tablor.pdf diff --git a/Master/texmf-dist/doc/latex/tablor/tablor.tex b/Master/texmf-dist/doc/latex/tablor/tablor.tex index 3678920eda9..7415079fefb 100644 --- a/Master/texmf-dist/doc/latex/tablor/tablor.tex +++ b/Master/texmf-dist/doc/latex/tablor/tablor.tex @@ -1,8 +1,15 @@ \documentclass[12pt]{article} \usepackage[height=250mm,width=183mm]{geometry} -\usepackage[upright]{fourier} + \usepackage{preambule} -\usepackage[xcas]{tablor} +\usepackage{lmodern} +\usepackage{tablor} +\usepackage{tocloft} +%ajoute de l'espace entre le +%numero de chapitre (chap) et le titre +%dans la table des matieres + +\addtolength{\cftsecnumwidth}{2em} \usepackage[dvips,colorlinks=true,linkcolor=orange]{hyperref} @@ -25,7 +32,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}\\ avec l'efficace participation de Jean-Michel \textsc{Boucart}} -\date{24 mars 2008 - Version 2.01} +\date{12 mai 2008 - Version 2.03} \begin{document} @@ -110,7 +117,9 @@ pour installer une nouvelle extension \LaTeX{}. qui ont \Prog{MiKTeX} sous \Prog{windows}, il suffit d'aller le chercher dans les dépôts. Pour les utilisateurs de \Prog{Unix}, vous devez savoir comment faire... Par commodité, vous pouvez en profiter pour installer la version \Prog{Unix} de \emph{MiKTeX package manager}. J'ai fait un - petit script pour vous y aider ici : \href{http://gconnan.free.fr/?page=52}{http://gconnan.free.fr/?page=52} + petit script pour vous y aider ici : + + \href{http://gconnan.free.fr/?page=52}{http://gconnan.free.fr/?page=52} @@ -161,8 +170,8 @@ Le séparateur est le point virgule. \begin{figure} \begin{DANGER} -Le fichier \texttt{tablor.sty} est codé en \texttt{latin-1}. Certains devront donc le convertir en -\texttt{utf-8}. +Le fichier \texttt{tablor.sty} est codé en \texttt{latin-1}. Les utilisateurs de +\texttt{utf-8} devront donc utiliser \texttt{tablorutf8.sty} à la place. \end{DANGER} \end{figure} @@ -183,21 +192,20 @@ Le préambule sera toujours~: \documentclass{article} \usepackage{graphicx} \usepackage[french]{babel} -\usepackage[upright]{fourier} \usepackage[xcas]{tablor} % option modifiable \end{lstlisting} -\begin{figure} - \begin{Idee} - Les fontes utilisées dans les tableaux sont \verb+[upright]{fourier}+. Il est tout à - fait possible d'utiliser d'autres fontes. Il suffit de modifier le fichier - \texttt{tablor.sty} en remplaçant partout où il apparaît \verb+[upright]{fourier}+ par \verb+lmodern+ ou ce - que vous voulez. Ce n'est pas très pratique, mais cela évite de le mettre en option à - chaque utilisation et on utilise souvent la même fonte dans ses documents. - \end{Idee} - \end{figure} +% \begin{figure} +% \begin{Idee} +% Les fontes utilisées dans les tableaux sont \verb+[upright]{fourier}+. Il est tout à +% fait possible d'utiliser d'autres fontes. Il suffit de modifier le fichier +% \texttt{tablor.sty} en remplaçant partout où il apparaît \verb+[upright]{fourier}+ par \verb+lmodern+ ou ce +% que vous voulez. Ce n'est pas très pratique, mais cela évite de le mettre en option à +% chaque utilisation et on utilise souvent la même fonte dans ses documents. +% \end{Idee} +% \end{figure} @@ -213,7 +221,9 @@ On met \texttt{xcas} si l'on a installé \Prog{giac/XCAS} sur son \subsection{Fichier \texttt{tablor.cfg}} -Voici son contenu~: +\subsubsection*{Contenu} + +{\small \begin{Verbatim} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -237,17 +247,37 @@ Voici son contenu~: % Laissez une espace avant de fermer l'accolade. \newcommand{\editeur}{texmaker } + + +% Déclaration des fontes utilisées +% ================================ +% +% Remplacez "[upright]{fourier}" par la fonte qui vous convient pour les maths +% (lmodern, mathpazo, etc.) + + +\newcommand{\fonte}{usepackage[upright]{fourier}} + + \end{Verbatim} +} + + Vous le placerez dans la même arborescence que \texttt{tablor.sty} et le modifierez si besoin est. +\subsubsection*{Éditeur} L'éditeur sera appelé dans certains cas pour modifier l'aspect des tableaux dans les fichiers sources \Prog{MetaPOST}. Il faudra choisir un éditeur comme par exemple \texttt{emacs, xemacs, texmaker, vi, winshell, notepad, vim, kate, gedit, textmate,texshop}, \texttt{kile}, etc. Voir aussi le paragraphe~\vref{modif}. +\subsubsection*{Fontes} +Les fontes utilisées par défaut sont celles de l'extension \texttt{fourier}. Pour en utiliser +d'autres, remplacez «~[upright]{fourier}~» par la fonte qui vous convient pour les maths +(lmodern, mathpazo, etc.) \subsection{Initialisation de \texttt{tablor} et préfixe des tableaux}\label{prefix} @@ -297,7 +327,6 @@ ou bien, selon les cas~: \documentclass{article} \usepackage{graphicx} \usepackage[french]{babel} -\usepackage[upright]{fourier} \usepackage[xcas]{tablor} % options modifiables \begin{document} @@ -426,6 +455,34 @@ TV([-10,+infinity],[-1,1],"g","t",x^2/(x^2-1),1,\tv) \end{enumerate} + +\subsection{Tableau de variation avec «~zone interdite~»} + + +Pour certaines fonctions, tout un intervalle est exclu de l'ensemble de définition. + +Par exemple, la fonction $x\mapsto \sqrt{x^2-1}$ est définie sur $]-\infty\pv -1]\cup[1\pv ++\infty[$. + +On utilise alors l'environnement \texttt{TVZ} (Z comme zone...). + + +\begin{lstlisting} +\begin{TVZ} + TVZ([-infinity,+infinity],[],[-1,1],"f","x",sqrt(x^2-1),1,\tv) +\end{TVZ} +\end{lstlisting} + + +\begin{center} + \begin{TVZ*}{2003} + TVZ([-infinity,+infinity],[],[-1,1],"f","x",sqrt(x^2-1),1,\tv) +\end{TVZ*} +\end{center} + + + + \subsection{Tableau des variations avec théorème des valeurs intermédiaires} Si l'on veut mettre en évidence les solutions de l'équation $f(x)=a$, on utilise l'environnement @@ -964,7 +1021,25 @@ TSc((x-10)*(x+10),[-10,10],\tv) \end{TSc} +\begin{lstlisting} +\begin{TVZ} + TVZ([-infinity,+infinity],[],[-1,1],"f","x",(sqrt(x^2-1))*(x^2-4),1,\tv) +\end{TVZ} +\end{lstlisting} + + \begin{TVZ*}{2004} + TVZ([-infinity,+infinity],[],[-1,1],"f","x",(sqrt(x^2-1))*(x^2-4),1,\tv) + \end{TVZ*} + + \begin{lstlisting} +\begin{TVZ} + TVZ([-infinity,+infinity],[],[-1,1],"f","x",ln(x^2-1),1,\tv) +\end{TVZ} + \end{lstlisting} + \begin{TVZ*}{2005} + TVZ([-infinity,+infinity],[],[-1,1],"f","x",ln(x^2-1),1,\tv) + \end{TVZ*} diff --git a/Master/texmf-dist/tex/latex/tablor/tablor.cfg b/Master/texmf-dist/tex/latex/tablor/tablor.cfg index a6e964edfb8..07aa2e6badb 100644 --- a/Master/texmf-dist/tex/latex/tablor/tablor.cfg +++ b/Master/texmf-dist/tex/latex/tablor/tablor.cfg @@ -24,3 +24,12 @@ \newcommand{\editeur}{texmaker } +% Déclaration des fontes utilisées +% ================================ +% +% Remplacez "[upright]{fourier}" par la fonte qui vous convient pour les maths +% (lmodern, mathpazo, etc.) + + +\newcommand{\fonte}{usepackage[upright]{fourier}} + diff --git a/Master/texmf-dist/tex/latex/tablor/tablor.sty b/Master/texmf-dist/tex/latex/tablor/tablor.sty index 4b5a9e57334..d42c65e07c4 100644 --- a/Master/texmf-dist/tex/latex/tablor/tablor.sty +++ b/Master/texmf-dist/tex/latex/tablor/tablor.sty @@ -1,6 +1,6 @@ \NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{tablor}[24/03/2008 v2.01 la machine à créer des tableaux de signes et variations] +\ProvidesPackage{tablor}[24/03/2008 v2.03 la machine à créer des tableaux de signes et variations] % \copyleft Connan le Barbare \copyright % avec l'efficace participation de Jean-Michel Boucart @@ -75,6 +75,7 @@ \newboolean{windows}\setboolean{windows}{false} + %% on configure tablor dans un fichier extérieur pour la plateforme %% et l'éditeur @@ -94,15 +95,16 @@ + %% En-tête pour le fichier metapost contenant les codes %% de tous les tableaux produits - \begin{VerbatimOut}{tete.mp} + \begin{VerbatimOut}[commandchars=?§£]{tete.mp} input tableauVariation; verbatimtex %&latex \documentclass{article} - \usepackage[upright]{fourier} + \\?fonte \usepackage{amsmath} \newcommand{\Mathbold}[1]{\mbox{\boldmath$#1$\unboldmath}} \begin{document} @@ -110,6 +112,8 @@ \end{VerbatimOut} + + %% Nettoie les fichiers log dont le nom dépend du choix de l'utilisateur %% Par défaut, c'est le nom du fichier tex courant (\jobname) %% Clôt le fichier metapost contenant le récapitulatif de tous les tableaux @@ -191,15 +195,12 @@ - - - %% %% Code giac/Xcas pour les Tableaux de Variations %% -\begin{VerbatimOut}{XcasTV.cxx} +\begin{VerbatimOut}[commandchars=?§£]{XcasTV.cxx} TV(L,F,nom,nomv,f,ftt,nmr):={ nl:=size(L); f:=unapply(f,x); @@ -250,11 +251,13 @@ newLigneVariations(btex $\\hbox{\\bf Variations de }\\atop{\\displaystyle \\Math 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)); + 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)==-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);"}} + "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); "}}} @@ -270,7 +273,7 @@ intro:="input tableauVariation; verbatimtex %&latex \\documentclass{article} - \\usepackage[upright]{fourier} + \\?fonte \\usepackage{amsmath} \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} \\begin{document} @@ -386,7 +389,249 @@ return(MetaL); \end{VerbatimOut} +%% +%% +%% TV avec une zone interdite : on rajoute comme argument l'intervalle interdit +%% par exemple, pour sqrt(x^2-1) : TVZ([-infinity,100],[],[-1,1],"f","x",sqrt(x^2-1),1,1) +%% + +\begin{VerbatimOut}[commandchars=?§£]{XcasTVZ.cxx} + +TVZ(L,F,FF,nom,nomv,f,ftt,nmr):={ +nl:=size(L); +if(FF[0]>L[0]){Imin:=FF[0];LL:=L}else{Imin:=L[0];LL:=[L[1]]}; +if(FF[1]<L[1]){Imax:=FF[1];LL:=L}else{Imax:=L[1];LL:=[L[0]]}; +FF:=[Imin,Imax]; +f:=unapply(f,x); +fp:=fonction_derivee(f); +Z:=concat(LL,F); +Z:=concat(Z,FF); +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[nl-1])); + kK:=(evalf(S[j])<evalf(Imin)) or (evalf(S[j])>evalf(Imax)); + Kk:=(kk) and kK; + if(Kk==1){Z:=append(Z,simplifier(S[j]))}; + fpour + fsi; + +Z:=sort(Z); +nz:=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:=nz-1; + fsi; +fpour; +nz:=size(Z); +for(k:=1;k<nz;k++){ +if ((Z[k]>Imin)and(Z[k]<Imax)){Z:=augment(Z[0..k-1],Z[k+1..nz-1]);nz:=nz-1; +} +} +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; + + 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);"+ + if(Z[0]==Imin){"debutNonDef;"}else{if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){ + if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+ + if(sign(fp(Z[0]+10^(-5)))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+ + if(sign(fp((Z[0]+10^(-5))))==1){"plus;"}else{"moins;"} }}} + +if(nz>2){ for(r:=1; r<=nz-2;r++){ ksp:=evalf(fp(Z[r]+0.01))>0; + lsp:=lsp+if(Z[r]==Imin){"debutNonDef;"}else{ + if(Z[r]==Imax){"finNonDef;"+ + if(ksp==1){"plus;"}else{"moins;"}}else{ + if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+ + if(ksp==1){"plus;"}else{"moins;"} + }}}}; + +lsf:=if(Z[0]==Imax){"finNonDef;"}else{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);"+ + 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(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)==-infinity; + lp:=lp+if(Z[r]==Imin){"limGauche(btex $"+if(lmrm==1){ + "-\\infty"}else{ + latex(simplifier(limite(f(x),x=Z[r],-1)))} + +"$ etex,"+if(krm==1){ + "1);"}else{"0);"} + +"debutNonDef;" + }//fsi Zr=Imin + else{ + if (Z[r]==Imax) {"finNonDef;limDroite(btex $"+if(lmrp==1){ + "-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))} + +"$ etex,"+if(krp==1){ + "1);"}else{"0);"} + } + else { + 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);"} + }//fsi (member Zr F) + 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);"}//felse(krp) + }//felse(valpos) + }//felse(member Zr F) + } //felse(Zr=Imax) + }//felse(Zr=Imin) + };//ffor + }//fsi nz + +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); +"}; + + +intro:="input tableauVariation; + verbatimtex +%&latex + \\documentclass{article} + \\?fonte + \\usepackage{amsmath} + \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} + \\begin{document} + etex; + +" + + +MetaL:=if(ftt==2){if(nz>2){intro+"beginTableau("+nmr+")"+ + l0+lsi+lsp+lsf+" +endTableau; +end +";}else{ +intro+"beginTableau("+nmr+")"+ + l0+ +lsi+lsf+" +endTableau; +end"; +} +}else{ if(ftt==0){if(nz>2){intro+"beginTableau("+nmr+")"+ + l0+ +li+ +lp+ +lf ++" +endTableau; +end";}else{intro+"beginTableau("+nmr+")"+ + l0+ +li+ +lf ++" +endTableau; +end";}}else{ +if(nz>2){intro+"beginTableau("+nmr+")"+ + l0+ +lsi+lsp+lsf+ +li+ +lp+ +lf ++" +endTableau; +end";}else{intro+"beginTableau("+nmr+")"+ + l0+ +lsi+lsf+ +li+ +lf ++" +endTableau; +end";} +}} + + + +MetaLfc:=if(ftt==2){if(nz>2){" + +beginTableau("+nmr+")"+ + l0+lsi+lsp+lsf+" +endTableau; + +";}else{ +intro+"beginTableau("+nmr+")"+ + l0+ +lsi+lsf+" +endTableau; + +"; +} +}else{ if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+ + l0+ +li+ +lp+ +lf ++" +endTableau; + +";}else{"beginTableau("+nmr+")"+ + l0+ +li+ +lf ++" +endTableau; + +";}}else{ +if(nz>2){"beginTableau("+nmr+")"+ + l0+ +lsi+lsp+lsf+ +li+ +lp+ +lf ++" +endTableau; + +";}else{"beginTableau("+nmr+")"+ + l0+ +lsi+lsf+ +li+ +lf ++" +endTableau; + +";} +}} + + +sortie:=fopen("XCasmpfc.mp"); +fprint(sortie,Unquoted,MetaLfc); +fclose(sortie); + + +return(MetaL); + } +:; + +\end{VerbatimOut} %% @@ -396,7 +641,7 @@ return(MetaL); -\begin{VerbatimOut}{XcasTVapp.cxx} +\begin{VerbatimOut}[commandchars=?§£]{XcasTVapp.cxx} @@ -493,7 +738,7 @@ intro:="input tableauVariation; verbatimtex %&latex \\documentclass{article} - \\usepackage[upright]{fourier} + \\?fonte \\usepackage{amsmath} \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} \\begin{document} @@ -629,7 +874,7 @@ return(MetaL); -\begin{VerbatimOut}{XcasTVI.cxx} +\begin{VerbatimOut}[commandchars=?§£]{XcasTVI.cxx} TVI(L,F,nom,nomv,f,ftt,ao,nmr):={ @@ -769,7 +1014,7 @@ input tableauVariation; verbatimtex %&latex \\documentclass{article} - \\usepackage[upright]{fourier} + \\?fonte \\usepackage{amsmath} \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} \\begin{document} @@ -898,7 +1143,7 @@ return(MetaL); -\begin{VerbatimOut}{XcasTVIapp.cxx} +\begin{VerbatimOut}[commandchars=?§£]{XcasTVIapp.cxx} TVIapp(L,F,nom,nomv,f,ftt,ao,nmr):={ @@ -1059,7 +1304,7 @@ input tableauVariation; verbatimtex %&latex \\documentclass{article} - \\usepackage[upright]{fourier} + \\?fonte \\usepackage{amsmath} \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} \\begin{document} @@ -1193,7 +1438,7 @@ return(MetaL); -\begin{VerbatimOut}{XcasTabSignL.cxx} +\begin{VerbatimOut}[commandchars=?§£]{XcasTabSignL.cxx} TS(L,D,nmr):={ @@ -1235,7 +1480,7 @@ MetaL:=" input tableauVariation; verbatimtex %&latex \\documentclass{article} - \\usepackage[upright]{fourier} + \\?fonte \\usepackage{amsmath} \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} \\begin{document} @@ -1310,7 +1555,7 @@ MetaL:=" input tableauVariation; verbatimtex %&latex \\documentclass{article} - \\usepackage[upright]{fourier} + \\?fonte \\usepackage{amsmath} \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} \\begin{document} @@ -1371,7 +1616,7 @@ return(MetaL); -\begin{VerbatimOut}{XcasTabSignQ.cxx} +\begin{VerbatimOut}[commandchars=?§£]{XcasTabSignQ.cxx} TSq(nomf,L,Fo,D,nmr):={ L:=apply(f->unapply(f,x),L); Fo:=apply(f->unapply(f,x),Fo); @@ -1436,7 +1681,7 @@ MetaL:=" input tableauVariation; verbatimtex %&latex \\documentclass{article} - \\usepackage[upright]{fourier} + \\?fonte \\usepackage{amsmath} \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} \\begin{document} @@ -1520,7 +1765,7 @@ MetaL:=" input tableauVariation; verbatimtex %&latex \\documentclass{article} - \\usepackage[upright]{fourier} + \\?fonte \\usepackage{amsmath} \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} \\begin{document} @@ -1598,7 +1843,7 @@ return(MetaL); -\begin{VerbatimOut}{XcasTabSign.cxx} +\begin{VerbatimOut}[commandchars=?§£]{XcasTabSign.cxx} TSa(a,b,c,d,nmr):={ zA:=resoudre(a*x+b=0,x)[0]; zB:=resoudre(c*x+d=0,x)[0]; @@ -1608,7 +1853,7 @@ zmax:=max(zA,zB); verbatimtex %&latex \\documentclass{article} - \\usepackage[upright]{fourier} + \\?fonte \\usepackage{amsmath} \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} \\begin{document} @@ -1660,7 +1905,7 @@ return(Meta); -\begin{VerbatimOut}{XcasTSc.cxx} +\begin{VerbatimOut}[commandchars=?§£]{XcasTSc.cxx} TSc(g,D,nmr):={ f:=unapply(g,x); Z:=NULL; @@ -1725,7 +1970,7 @@ MetaL:=" input tableauVariation; verbatimtex %&latex \\documentclass{article} - \\usepackage[upright]{fourier} + \\?fonte \\usepackage{amsmath} \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} \\begin{document} @@ -2006,6 +2251,45 @@ fclose(Sortie); + + + + +\begin{VerbatimOut}{XCasTVZ.giac} +maple_mode(0); +read("XcasTVZ.cxx"); +Sortie:=fopen("XCasmpTVZ.mp"); +vect.xcas.user := read("XCasTVZ.user"); +vxo := vect.xcas.user; +dim.vxo := dim(vxo); +nbr.line.vxo := dim.vxo; +Resultat:=cat(" "); +rslt := vxo[0]; RslT:=cat(rslt); +Resultat:=cat(Resultat,RslT); +fprint(Sortie,Unquoted,Resultat); +fclose(Sortie); +\end{VerbatimOut} + +\newenvironment{TVZ}% +{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasTVZ.user}}% +{\end{VerbatimOut} +\dresse{TVZ}} + +\newenvironment{TVZ*}[1]{% +\setcounter{TVnbis}{\theTVn} +\setcounter{TVn}{#1} +\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasTVZ.user}}% +{\end{VerbatimOut}\dressetoile{TVZ}} + + + + + + + + + + \begin{VerbatimOut}{XCasTVapp.giac} maple_mode(0); read("XcasTVapp.cxx"); diff --git a/Master/texmf-dist/tex/latex/tablor/tablorutf8.sty b/Master/texmf-dist/tex/latex/tablor/tablorutf8.sty index c0ab9fe1e3c..d89eda8b40b 100644 --- a/Master/texmf-dist/tex/latex/tablor/tablorutf8.sty +++ b/Master/texmf-dist/tex/latex/tablor/tablorutf8.sty @@ -1,6 +1,6 @@ \NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{tablor}[24/03/2008 v2.01 la machine à créer des tableaux de signes et variations] +\ProvidesPackage{tablor}[24/03/2008 v2.03 la machine à créer des tableaux de signes et variations] % \copyleft Connan le Barbare \copyright % avec l'efficace participation de Jean-Michel Boucart @@ -75,6 +75,7 @@ \newboolean{windows}\setboolean{windows}{false} + %% on configure tablor dans un fichier extérieur pour la plateforme %% et l'éditeur @@ -94,15 +95,16 @@ + %% En-tête pour le fichier metapost contenant les codes %% de tous les tableaux produits - \begin{VerbatimOut}{tete.mp} + \begin{VerbatimOut}[commandchars=?§£]{tete.mp} input tableauVariation; verbatimtex %&latex \documentclass{article} - \usepackage[upright]{fourier} + \\?fonte \usepackage{amsmath} \newcommand{\Mathbold}[1]{\mbox{\boldmath$#1$\unboldmath}} \begin{document} @@ -110,6 +112,8 @@ \end{VerbatimOut} + + %% Nettoie les fichiers log dont le nom dépend du choix de l'utilisateur %% Par défaut, c'est le nom du fichier tex courant (\jobname) %% Clôt le fichier metapost contenant le récapitulatif de tous les tableaux @@ -191,15 +195,12 @@ - - - %% %% Code giac/Xcas pour les Tableaux de Variations %% -\begin{VerbatimOut}{XcasTV.cxx} +\begin{VerbatimOut}[commandchars=?§£]{XcasTV.cxx} TV(L,F,nom,nomv,f,ftt,nmr):={ nl:=size(L); f:=unapply(f,x); @@ -250,11 +251,13 @@ newLigneVariations(btex $\\hbox{\\bf Variations de }\\atop{\\displaystyle \\Math 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)); + 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)==-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);"}} + "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); "}}} @@ -270,7 +273,7 @@ intro:="input tableauVariation; verbatimtex %&latex \\documentclass{article} - \\usepackage[upright]{fourier} + \\?fonte \\usepackage{amsmath} \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} \\begin{document} @@ -386,7 +389,249 @@ return(MetaL); \end{VerbatimOut} +%% +%% +%% TV avec une zone interdite : on rajoute comme argument l'intervalle interdit +%% par exemple, pour sqrt(x^2-1) : TVZ([-infinity,100],[],[-1,1],"f","x",sqrt(x^2-1),1,1) +%% + +\begin{VerbatimOut}[commandchars=?§£]{XcasTVZ.cxx} + +TVZ(L,F,FF,nom,nomv,f,ftt,nmr):={ +nl:=size(L); +if(FF[0]>L[0]){Imin:=FF[0];LL:=L}else{Imin:=L[0];LL:=[L[1]]}; +if(FF[1]<L[1]){Imax:=FF[1];LL:=L}else{Imax:=L[1];LL:=[L[0]]}; +FF:=[Imin,Imax]; +f:=unapply(f,x); +fp:=fonction_derivee(f); +Z:=concat(LL,F); +Z:=concat(Z,FF); +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[nl-1])); + kK:=(evalf(S[j])<evalf(Imin)) or (evalf(S[j])>evalf(Imax)); + Kk:=(kk) and kK; + if(Kk==1){Z:=append(Z,simplifier(S[j]))}; + fpour + fsi; + +Z:=sort(Z); +nz:=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:=nz-1; + fsi; +fpour; +nz:=size(Z); +for(k:=1;k<nz;k++){ +if ((Z[k]>Imin)and(Z[k]<Imax)){Z:=augment(Z[0..k-1],Z[k+1..nz-1]);nz:=nz-1; +} +} +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; + + 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);"+ + if(Z[0]==Imin){"debutNonDef;"}else{if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){ + if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+ + if(sign(fp(Z[0]+10^(-5)))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+ + if(sign(fp((Z[0]+10^(-5))))==1){"plus;"}else{"moins;"} }}} + +if(nz>2){ for(r:=1; r<=nz-2;r++){ ksp:=evalf(fp(Z[r]+0.01))>0; + lsp:=lsp+if(Z[r]==Imin){"debutNonDef;"}else{ + if(Z[r]==Imax){"finNonDef;"+ + if(ksp==1){"plus;"}else{"moins;"}}else{ + if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+ + if(ksp==1){"plus;"}else{"moins;"} + }}}}; + +lsf:=if(Z[0]==Imax){"finNonDef;"}else{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);"+ + 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(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)==-infinity; + lp:=lp+if(Z[r]==Imin){"limGauche(btex $"+if(lmrm==1){ + "-\\infty"}else{ + latex(simplifier(limite(f(x),x=Z[r],-1)))} + +"$ etex,"+if(krm==1){ + "1);"}else{"0);"} + +"debutNonDef;" + }//fsi Zr=Imin + else{ + if (Z[r]==Imax) {"finNonDef;limDroite(btex $"+if(lmrp==1){ + "-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))} + +"$ etex,"+if(krp==1){ + "1);"}else{"0);"} + } + else { + 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);"} + }//fsi (member Zr F) + 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);"}//felse(krp) + }//felse(valpos) + }//felse(member Zr F) + } //felse(Zr=Imax) + }//felse(Zr=Imin) + };//ffor + }//fsi nz + +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); +"}; + + +intro:="input tableauVariation; + verbatimtex +%&latex + \\documentclass{article} + \\?fonte + \\usepackage{amsmath} + \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} + \\begin{document} + etex; + +" + + +MetaL:=if(ftt==2){if(nz>2){intro+"beginTableau("+nmr+")"+ + l0+lsi+lsp+lsf+" +endTableau; +end +";}else{ +intro+"beginTableau("+nmr+")"+ + l0+ +lsi+lsf+" +endTableau; +end"; +} +}else{ if(ftt==0){if(nz>2){intro+"beginTableau("+nmr+")"+ + l0+ +li+ +lp+ +lf ++" +endTableau; +end";}else{intro+"beginTableau("+nmr+")"+ + l0+ +li+ +lf ++" +endTableau; +end";}}else{ +if(nz>2){intro+"beginTableau("+nmr+")"+ + l0+ +lsi+lsp+lsf+ +li+ +lp+ +lf ++" +endTableau; +end";}else{intro+"beginTableau("+nmr+")"+ + l0+ +lsi+lsf+ +li+ +lf ++" +endTableau; +end";} +}} + + + +MetaLfc:=if(ftt==2){if(nz>2){" + +beginTableau("+nmr+")"+ + l0+lsi+lsp+lsf+" +endTableau; + +";}else{ +intro+"beginTableau("+nmr+")"+ + l0+ +lsi+lsf+" +endTableau; + +"; +} +}else{ if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+ + l0+ +li+ +lp+ +lf ++" +endTableau; + +";}else{"beginTableau("+nmr+")"+ + l0+ +li+ +lf ++" +endTableau; + +";}}else{ +if(nz>2){"beginTableau("+nmr+")"+ + l0+ +lsi+lsp+lsf+ +li+ +lp+ +lf ++" +endTableau; + +";}else{"beginTableau("+nmr+")"+ + l0+ +lsi+lsf+ +li+ +lf ++" +endTableau; + +";} +}} + + +sortie:=fopen("XCasmpfc.mp"); +fprint(sortie,Unquoted,MetaLfc); +fclose(sortie); + + +return(MetaL); + } +:; + +\end{VerbatimOut} %% @@ -396,7 +641,7 @@ return(MetaL); -\begin{VerbatimOut}{XcasTVapp.cxx} +\begin{VerbatimOut}[commandchars=?§£]{XcasTVapp.cxx} @@ -493,7 +738,7 @@ intro:="input tableauVariation; verbatimtex %&latex \\documentclass{article} - \\usepackage[upright]{fourier} + \\?fonte \\usepackage{amsmath} \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} \\begin{document} @@ -629,7 +874,7 @@ return(MetaL); -\begin{VerbatimOut}{XcasTVI.cxx} +\begin{VerbatimOut}[commandchars=?§£]{XcasTVI.cxx} TVI(L,F,nom,nomv,f,ftt,ao,nmr):={ @@ -769,7 +1014,7 @@ input tableauVariation; verbatimtex %&latex \\documentclass{article} - \\usepackage[upright]{fourier} + \\?fonte \\usepackage{amsmath} \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} \\begin{document} @@ -898,7 +1143,7 @@ return(MetaL); -\begin{VerbatimOut}{XcasTVIapp.cxx} +\begin{VerbatimOut}[commandchars=?§£]{XcasTVIapp.cxx} TVIapp(L,F,nom,nomv,f,ftt,ao,nmr):={ @@ -1059,7 +1304,7 @@ input tableauVariation; verbatimtex %&latex \\documentclass{article} - \\usepackage[upright]{fourier} + \\?fonte \\usepackage{amsmath} \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} \\begin{document} @@ -1193,7 +1438,7 @@ return(MetaL); -\begin{VerbatimOut}{XcasTabSignL.cxx} +\begin{VerbatimOut}[commandchars=?§£]{XcasTabSignL.cxx} TS(L,D,nmr):={ @@ -1235,7 +1480,7 @@ MetaL:=" input tableauVariation; verbatimtex %&latex \\documentclass{article} - \\usepackage[upright]{fourier} + \\?fonte \\usepackage{amsmath} \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} \\begin{document} @@ -1310,7 +1555,7 @@ MetaL:=" input tableauVariation; verbatimtex %&latex \\documentclass{article} - \\usepackage[upright]{fourier} + \\?fonte \\usepackage{amsmath} \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} \\begin{document} @@ -1371,7 +1616,7 @@ return(MetaL); -\begin{VerbatimOut}{XcasTabSignQ.cxx} +\begin{VerbatimOut}[commandchars=?§£]{XcasTabSignQ.cxx} TSq(nomf,L,Fo,D,nmr):={ L:=apply(f->unapply(f,x),L); Fo:=apply(f->unapply(f,x),Fo); @@ -1436,7 +1681,7 @@ MetaL:=" input tableauVariation; verbatimtex %&latex \\documentclass{article} - \\usepackage[upright]{fourier} + \\?fonte \\usepackage{amsmath} \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} \\begin{document} @@ -1520,7 +1765,7 @@ MetaL:=" input tableauVariation; verbatimtex %&latex \\documentclass{article} - \\usepackage[upright]{fourier} + \\?fonte \\usepackage{amsmath} \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} \\begin{document} @@ -1598,7 +1843,7 @@ return(MetaL); -\begin{VerbatimOut}{XcasTabSign.cxx} +\begin{VerbatimOut}[commandchars=?§£]{XcasTabSign.cxx} TSa(a,b,c,d,nmr):={ zA:=resoudre(a*x+b=0,x)[0]; zB:=resoudre(c*x+d=0,x)[0]; @@ -1608,7 +1853,7 @@ zmax:=max(zA,zB); verbatimtex %&latex \\documentclass{article} - \\usepackage[upright]{fourier} + \\?fonte \\usepackage{amsmath} \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} \\begin{document} @@ -1660,7 +1905,7 @@ return(Meta); -\begin{VerbatimOut}{XcasTSc.cxx} +\begin{VerbatimOut}[commandchars=?§£]{XcasTSc.cxx} TSc(g,D,nmr):={ f:=unapply(g,x); Z:=NULL; @@ -1725,7 +1970,7 @@ MetaL:=" input tableauVariation; verbatimtex %&latex \\documentclass{article} - \\usepackage[upright]{fourier} + \\?fonte \\usepackage{amsmath} \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} \\begin{document} @@ -1876,7 +2121,7 @@ fclose(Sortie); \end{VerbatimOut} \newenvironment{TSa} -{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\\#\~]{XCas.user}} +{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCas.user}} {\end{VerbatimOut} \dresse{} } @@ -1905,7 +2150,7 @@ fclose(Sortie); \end{VerbatimOut} \newenvironment{TSq}% -{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\\#\~]{XCasQ.user}} +{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasQ.user}} {\end{VerbatimOut}\dresse{Q}} @@ -1913,7 +2158,7 @@ fclose(Sortie); \newenvironment{TSq*}[1]% {\setcounter{TVnbis}{\theTVn} \setcounter{TVn}{#1} -\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\\#\~]{XCasQ.user}} +\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasQ.user}} {\end{VerbatimOut}\dressetoile{Q}} @@ -1933,14 +2178,14 @@ fclose(Sortie); \end{VerbatimOut} \newenvironment{TS}% -{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\\#\~]{XCasL.user}} +{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasL.user}} {\end{VerbatimOut}\dresse{L}} \newenvironment{TS*}[1] {\setcounter{TVnbis}{\theTVn} \setcounter{TVn}{#1} -\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\\#\~]{XCasL.user}} +\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasL.user}} {\end{VerbatimOut}\dressetoile{L}} @@ -1965,12 +2210,12 @@ fclose(Sortie); \newenvironment{TSc*}[1]% {\setcounter{TVnbis}{\theTVn} \setcounter{TVn}{#1} -\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\\#\~]{XCasTSc.user}} +\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasTSc.user}} {\end{VerbatimOut}\dressetoile{TSc}} \newenvironment{TSc}% -{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\\#\~]{XCasTSc.user}} +{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasTSc.user}} {\end{VerbatimOut}\dresse{TSc}} @@ -1990,14 +2235,14 @@ fclose(Sortie); \end{VerbatimOut} \newenvironment{TV}% -{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\\#\~]{XCasTV.user}}% +{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasTV.user}}% {\end{VerbatimOut} \dresse{TV}} \newenvironment{TV*}[1]{% \setcounter{TVnbis}{\theTVn} \setcounter{TVn}{#1} -\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\\#\~]{XCasTV.user}}% +\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasTV.user}}% {\end{VerbatimOut}\dressetoile{TV}} @@ -2006,6 +2251,45 @@ fclose(Sortie); + + + + +\begin{VerbatimOut}{XCasTVZ.giac} +maple_mode(0); +read("XcasTVZ.cxx"); +Sortie:=fopen("XCasmpTVZ.mp"); +vect.xcas.user := read("XCasTVZ.user"); +vxo := vect.xcas.user; +dim.vxo := dim(vxo); +nbr.line.vxo := dim.vxo; +Resultat:=cat(" "); +rslt := vxo[0]; RslT:=cat(rslt); +Resultat:=cat(Resultat,RslT); +fprint(Sortie,Unquoted,Resultat); +fclose(Sortie); +\end{VerbatimOut} + +\newenvironment{TVZ}% +{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasTVZ.user}}% +{\end{VerbatimOut} +\dresse{TVZ}} + +\newenvironment{TVZ*}[1]{% +\setcounter{TVnbis}{\theTVn} +\setcounter{TVn}{#1} +\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasTVZ.user}}% +{\end{VerbatimOut}\dressetoile{TVZ}} + + + + + + + + + + \begin{VerbatimOut}{XCasTVapp.giac} maple_mode(0); read("XcasTVapp.cxx"); @@ -2022,14 +2306,14 @@ fclose(Sortie); \end{VerbatimOut} \newenvironment{TVapp}% -{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\\#\~]{XCasTVapp.user}}% +{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasTVapp.user}}% {\end{VerbatimOut} \dresse{TVapp}} \newenvironment{TVapp*}[1]{% \setcounter{TVnbis}{\theTVn} \setcounter{TVn}{#1} -\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\\#\~]{XCasTVapp.user}}% +\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasTVapp.user}}% {\end{VerbatimOut}\dressetoile{TVapp}} @@ -2058,14 +2342,14 @@ fclose(Sortie); \end{VerbatimOut} \newenvironment{TVI}% -{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\\#\~]{XCasTVI.user}}% +{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasTVI.user}}% {\end{VerbatimOut}\dresse{TVI}} \newenvironment{TVI*}[1]% {\setcounter{TVnbis}{\theTVn} \setcounter{TVn}{#1} -\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\\#\~]{XCasTVI.user}}% +\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasTVI.user}}% {\end{VerbatimOut}\dressetoile{TVI}} @@ -2089,14 +2373,14 @@ fclose(Sortie); \end{VerbatimOut} \newenvironment{TVIapp}% -{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\\#\~]{XCasTVIapp.user}}% +{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasTVIapp.user}}% {\end{VerbatimOut}\dresse{TVIapp}} \newenvironment{TVIapp*}[1]% {\setcounter{TVnbis}{\theTVn} \setcounter{TVn}{#1} -\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\\#\~]{XCasTVIapp.user}}% +\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasTVIapp.user}}% {\end{VerbatimOut}\dressetoile{TVIapp}} |