From 308a0af8573a8c98d928c70da0ae23af2a9efc9c Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 30 Jan 2009 00:04:41 +0000 Subject: tablor 4.02c git-svn-id: svn://tug.org/texlive/trunk@12009 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/tablor/tablor.html | 426 ++++++++++++++----------- 1 file changed, 234 insertions(+), 192 deletions(-) (limited to 'Master/texmf-dist/doc/latex/tablor') diff --git a/Master/texmf-dist/doc/latex/tablor/tablor.html b/Master/texmf-dist/doc/latex/tablor/tablor.html index fde38cb5681..7841bf6b493 100644 --- a/Master/texmf-dist/doc/latex/tablor/tablor.html +++ b/Master/texmf-dist/doc/latex/tablor/tablor.html @@ -22,7 +22,7 @@ } .constant { /* font-lock-constant-face */ - color: #68228b; + color: #9932cc; font-weight: bold; } .flyspell-duplicate { @@ -31,6 +31,12 @@ font-weight: bold; text-decoration: underline; } + .flyspell-incorrect { + /* flyspell-incorrect-face */ + color: #ff4500; + font-weight: bold; + text-decoration: underline; + } .font-latex-math { /* font-latex-math-face */ color: #436eee; @@ -54,11 +60,11 @@ } .function-name { /* font-lock-function-name-face */ - color: #6ca6cd; + color: #87ceeb; } .keyword { /* font-lock-keyword-face */ - color: #32cd32; + color: #6495ed; font-weight: bold; } .variable-name { @@ -81,10 +87,10 @@
 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{tablor}[24/11/2008 v4.02b la machine a creer des tableaux de signes et variations]
+\ProvidesPackage{tablor}[29/01/2009 v4.02c la machine a creer des tableaux de signes et variations]
 
 % \copyleft Connan le Barbare (aka Guillaume Connan) \copyright
-% This work may be distributed and/or mofified under the conditions
+% This work may be distributed and/or mofified under the conditions
 % or the LaTeX Project Public Licence, either v1.3 or (at your option)
 % any later version. The latest version is in
 %   http://www.latex-project.org/lppl/
@@ -105,7 +111,7 @@
 %
 % pour les tableaux de signes avec quotient
 %\begin{TSq}
-%TSq("Q",[-2*x+3,-4*x+5],[x^2-16,x-2],[a,b],n,\tv)
+%TSq("Q",[-2*x+3,-4*x+5],[x^2-16,x-2],[a,b],n,\tv)
 %%\end{TSq}
 % un tableau de variation :
 %
@@ -196,14 +202,14 @@
 
 
 %% Initialisation du choix d'OS
-\newboolean{windows}\setboolean{windows}{false}
+\newboolean{windows}\setboolean{windows}{false}
 
 
 
 %% on configure  tablor  dans un fichier exterieur pour la plateforme
 %% et l'editeur
 
-\IfFileExists{tablor.cfg}{\input{tablor.cfg}}%\typeout{pas de fichier tablor.cfg}}
+\IfFileExists{tablor.cfg}{\input{tablor.cfg}}%\typeout{pas de fichier tablor.cfg}}
 
 
 %% Definit des commandes disque selon l'OS utilise
@@ -211,7 +217,7 @@
     {\newcommand{\rem}{DEL } \newcommand{\cat}{TYPE }
       \newcommand{\cp}{COPY }}%
     {\newcommand{\rem}{rm }\newcommand{\cat}{cat }
-      \newcommand{\cp}{cp }}
+      \newcommand{\cp}{cp }}
 
 
 
@@ -219,7 +225,7 @@
 
 
 
-%% pour ceux compilant via pdflatex
+%% pour ceux compilant via pdflatex
 
 \ifpdf
 \DeclareGraphicsRule{*}{mps}{*}{}
@@ -227,7 +233,7 @@
 
 %% pour nettoyer les fichiers auxiliaires
 
-\AtEndDocument{\immediate\write18{\rem *.user XCas* Xcas* *.mpx}
+\AtEndDocument{\immediate\write18{\rem *.user XCas* Xcas* *.mpx}
                          }
 
 
@@ -238,7 +244,7 @@
 
   \begin{VerbatimOut}{queue.mp}
   
-  end
+  end
 
   \end{VerbatimOut}
 
@@ -251,7 +257,7 @@
 
 
 \newcommand{\nettoyer}[1][\jobname]%
-{\immediate\write18{\rem #1.Tab.log  queue.mp enteteMP.cfg session.tex config.cxx}
+{\immediate\write18{\rem #1.Tab.log  queue.mp enteteMP.cfg session.tex config.cxx}
 }
 
 
@@ -267,30 +273,30 @@
 \newcounter{TVn}
 \newcommand{\tv}{\theTVn}
 
-\newcounter{TVnbis}
+\newcounter{TVnbis}
 \newcommand{\tvbis}{\theTVnbis}
 
 
 
 %% permet de donner un prefixe aux tableaux produits (\jobname par defaut)
-%% effectue quelques verifications :
+%% effectue quelques verifications :
 
 
 \newcommand{\initablor}[1][\jobname]{%
 \renewcommand{\nomtravail}{#1}%     Arret du nom des tableaux
 \setcounter{TVn}{0}%     Initialisation du compteur de tableaux.
-\ifthenelse{\boolean{xcas}}%    Avec l'option XCas
+\ifthenelse{\boolean{xcas}}%    Avec l'option XCas
 {\IfFileExists{\nomtravail.Tab.mp}%      Si Tableaux.mp est present...
         {\immediate\write18{\rem \nomtravail.Tab.mp}}%  le detruire
         {}%   
- \immediate\write18{\cp  enteteMP.cfg \nomtravail.Tab.mp}% Reconstituer l'entête de Tableaux.mp
+ \immediate\write18{\cp  enteteMP.cfg \nomtravail.Tab.mp}% Reconstituer l'entête de Tableaux.mp
 } 
 {\IfFileExists{\nomtravail.Tab.mp}%      Sans l'option XCas, si
                                 %      Tableaux.mp existe
 {\immediate\write18{mpost -interaction=batchmode \nomtravail.Tab}}% l'executer pour reconstituer les figures
 {\PackageWarning{tablor}{Pas de source metapost pour creer les tableaux.}}% sinon message d'erreur
                                 % (mais pas d'arret car les tableaux
-                                % peuvent être presents )
+                                % peuvent être presents )
 }}%
 
 
@@ -300,7 +306,7 @@
 \makeatletter
 \newcommand{\executGiacmp}[1]{%
 \ifthenelse{\boolean{windows}}%
-{\immediate\write18{giac #1 }}%
+{\immediate\write18{giac #1 }}%
 {\immediate\write18{giac  <#1 }}}
 \makeatother
 
@@ -325,19 +331,19 @@
 TV(L,F,nom,nomv,f,ftt,trigo,nmr):={
 nl:=size(L);
 f:=unapply(f,x);
-fp:=function_diff(f);
+fp:=function_diff(f);
 Z:=concat(L,F);
 S:=[];
 
 
 if(trigo==t){
-all_trig_solutions:=1;
+all_trig_solutions:=1;
 reset_solve_counter(-1,-1);
 SS:=solve(factor(simplify(fp(x))),x);
 ns:=size(SS);
 for(k:=0;k<ns;k++){
 m:=0;
-while(evalf(simplify(subst(SS[k],n_1=m)))<=evalf(L[nl-1])){
+while(evalf(simplify(subst(SS[k],n_1=m)))<=evalf(L[nl-1])){
 S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m+1;
 };m:=-1;
 while(evalf(subst(SS[k],n_1=m))>=L[0]){
@@ -353,14 +359,14 @@ S:=solve(fp(x),x);
                              qq:=member(simplify(S[j]),Z)==0;
                              kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[nl-1]));
                           if(kk==1){if(qq==1){Z:=append(Z,simplify(S[j]))}};
-                          fpour
+                          fpour
   fsi;
 Z:=sort(Z);
 nz:=size(Z);
 
 
  tantque evalf(Z[0])==evalf(Z[1]) faire Z:=Z[1..nz-1];nz:=size(Z);
-     ftantque;
+     ftantque;
 
 
 
@@ -376,7 +382,7 @@ nz:=size(Z);
 
 Z:=sort(Z); 
 nz:=size(Z);
- si Z[0]==Z[1] alors Z:=augment(Z[0],Z[2..nz-1]);nz:=nz-1; 
+ 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; 
@@ -388,7 +394,7 @@ pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+
 ";fpour; 
 
        k0:= evalf(limit(f(x),x=Z[0],1))> evalf(limit(f(x),x=Z[1],-1));
-       kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[nz-2],1));
+       kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[nz-2],1));
                           
 lsi:=lsic+nom+"'("+nomv+")}$ etex);"+
      if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){
@@ -426,12 +432,12 @@ lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity;
                           
 
 
-lf:=if(member(Z[nz-1],F)==0){"valPos(btex $"+
+lf:=if(member(Z[nz-1],F)==0){"valPos(btex $"+
            if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$ etex,"+
              if(kz==1){"1);"}else{"0);"}}
     else{"limGauche(btex $"+
          if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$ etex,"+ 
-           if(kz==1){"1);nonDefBarre;"}else{"0);nonDefBarre;"}};    
+           if(kz==1){"1);nonDefBarre;"}else{"0);nonDefBarre;"}};    
     
 
 
@@ -441,30 +447,30 @@ MetaLfc:=if(ftt==2){if(nz>2){"
 
 beginTableau("+nmr+")"+
         l0+lsi+lsp+lsf+"
-endTableau;
+endTableau;
 
 ";}else{
 intro+"beginTableau("+nmr+")"+
         l0+
 lsi+lsf+"
-endTableau;
+endTableau;
 
 ";
 }
 }else{ if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+
         l0+
 li+
-lp+
+lp+
 lf
 +"
 endTableau;
 
-";}else{"beginTableau("+nmr+")"+
+";}else{"beginTableau("+nmr+")"+
         l0+
 li+
 lf
 +"
-endTableau;
+endTableau;
 
 ";}}else{
 if(nz>2){"beginTableau("+nmr+")"+
@@ -472,17 +478,17 @@ if(nz>2){"beginTableau("+nmr+")"+
 lsi+lsp+lsf+
 li+
 lp+
-lf
+lf
 +"
 endTableau;
 
 ";}else{"beginTableau("+nmr+")"+
         l0+
-lsi+lsf+
+lsi+lsf+
 li+
 lf
 +"
-endTableau;
+endTableau;
 
 ";}
 }}
@@ -490,7 +496,7 @@ endTableau;
 
 sortie:=fopen("XCasmpfc.mp");
 fprint(sortie,Unquoted,MetaLfc);
-fclose(sortie);
+fclose(sortie);
 
 
  }:;
@@ -507,7 +513,7 @@ fclose(sortie);
 
 %
 %
-%  TVPC : pour les fonctions prolongeables par continuité.
+%  TVPC : pour les fonctions prolongeables par continuité.
 %%
 %%
 
@@ -526,7 +532,7 @@ S:=[];
 
 if(trigo==t){
 all_trig_solutions:=1;
-reset_solve_counter(-1,-1);
+reset_solve_counter(-1,-1);
 SS:=solve(factor(simplify(fp(x))),x);
 ns:=size(SS);
 for(k:=0;k<ns;k++){
@@ -554,7 +560,7 @@ nz:=size(Z);
 
 
  tantque evalf(Z[0])==evalf(Z[1]) faire Z:=Z[1..nz-1];nz:=size(Z);
-     ftantque;
+     ftantque;
 
 
 
@@ -565,7 +571,7 @@ nz:=size(Z);
   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,simplify(S[j]))};
-                          fpour
+                          fpour
   fsi;
 
 Z:=sort(Z); 
@@ -584,7 +590,7 @@ pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+
        k0:= evalf(limit(f(x),x=Z[0],1))> evalf(limit(f(x),x=Z[1],-1));
        kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[nz-2],1));
                           
-lsi:=lsic+nom+"'("+nomv+")}$ etex);"+
+lsi:=lsic+nom+"'("+nomv+")}$ etex);"+
      if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],FP)==0){
                                                     if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+
                                                     if(sign(fp(Z[0]+10^(-5)))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+
@@ -595,7 +601,7 @@ if(nz>2){ for(r:=1; r<=nz-2;r++){      ksp:=evalf(fp(Z[r]+0.1))>0;
                                                 if(ksp==1){"plus;"}else{"moins;"}
                                                   }; }
 
-lsf:=if(member(Z[nz-1],FP)==0){""}else{"nonDefBarre;
+lsf:=if(member(Z[nz-1],FP)==0){""}else{"nonDefBarre;
 "}
 lm0:=limit(f(x),x=Z[0],1)==-infinity;
      li:=lvic+nom+"}$ etex);"+
@@ -616,16 +622,16 @@ lm0:=limit(f(x),x=Z[0],1)==-infinity;
 "}}}
                                                    }; }
 
-lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity;
+lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity;
                           
 
 
 lf:=if(member(Z[nz-1],F)==0){"valPos(btex $"+
-           if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$ etex,"+
+           if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$ etex,"+
              if(kz==1){"1);"}else{"0);"}}
     else{"limGauche(btex $"+
          if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$ etex,"+ 
-           if(kz==1){"1);"}else{"0);"}};    
+           if(kz==1){"1);"}else{"0);"}};    
     
 
 
@@ -633,15 +639,15 @@ lf:=if(member(Z[nz-1],F)==0){"valPos(btex $"+
 
 MetaLfc:=if(ftt==2){if(nz>2){"
 
-beginTableau("+nmr+")"+
+beginTableau("+nmr+")"+
         l0+lsi+lsp+lsf+"
 endTableau;
 
 ";}else{
-intro+"beginTableau("+nmr+")"+
+intro+"beginTableau("+nmr+")"+
         l0+
 lsi+lsf+"
-endTableau;
+endTableau;
 
 ";
 }
@@ -651,32 +657,32 @@ li+
 lp+
 lf
 +"
-endTableau;
+endTableau;
 
 ";}else{"beginTableau("+nmr+")"+
         l0+
 li+
-lf
+lf
 +"
 endTableau;
 
 ";}}else{
 if(nz>2){"beginTableau("+nmr+")"+
         l0+
-lsi+lsp+lsf+
+lsi+lsp+lsf+
 li+
 lp+
 lf
 +"
-endTableau;
+endTableau;
 
 ";}else{"beginTableau("+nmr+")"+
         l0+
 lsi+lsf+
 li+
-lf
+lf
 +"
-endTableau;
+endTableau;
 
 ";}
 }}
@@ -708,7 +714,7 @@ fclose(sortie);
 %% par exemple, pour sqrt(x^2-1) : TVZ([-infinity,100],[],[[-1,1]],"f","x",sqrt(x^2-1),1,1)
 %%
 
-\begin{VerbatimOut}{XcasTVZ.cxx}
+\begin{VerbatimOut}{XcasTVZ.cxx}
 
 
 TVZ(L,F,FF,nom,nomv,f,ftt,trigo,nmr):={
@@ -739,7 +745,7 @@ S:=[];
 if(trigo==t){
 all_trig_solutions:=1;
 reset_solve_counter(-1,-1);
-SS:=solve(factor(simplify(fp(x))),x);
+SS:=solve(factor(simplify(fp(x))),x);
 ns:=size(SS);
 for(k:=0;k<ns;k++){
 m:=0;
@@ -761,12 +767,12 @@ S:=solve(fp(x),x);
 
   si size(S)>0 alors   pour j de 0 jusque size(S)-1 faire 
                          for(k:=0;k<nf;k++){  
-                           kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[nl-1]));
+                           kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[nl-1]));
                              kK:=(evalf(S[j])<evalf(Imin[k])) or (evalf(S[j])>evalf(Imax[k]));
                              Kk:=(kk) and kK;
                           if(Kk==1){Z:=append(Z,simplify(S[j]))};
                           }
-                        fpour
+                        fpour
   fsi;
 
 Z:=sort(Z); 
@@ -779,12 +785,12 @@ nz:=size(Z);
 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;
+fpour;
 nz:=size(Z);
 
 for(j:=0;j<nf;j++){
  for(k:=1;k<nz;k++){
-   if ((Z[k]>Imin[j])and(Z[k]<Imax[j])){Z:=augment(Z[0..k-1],Z[k+1..nz-1]);nz:=nz-1;
+   if ((Z[k]>Imin[j])and(Z[k]<Imax[j])){Z:=augment(Z[0..k-1],Z[k+1..nz-1]);nz:=nz-1;
    }
   }
 }
@@ -795,7 +801,7 @@ pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+
 ";fpour; 
 
        k0:= evalf(limit(f(x),x=Z[0],1))> evalf(limit(f(x),x=Z[1],-1));
-       kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[nz-2],1));
+       kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[nz-2],1));
                           
 lsi:=lsic+nom+"'("+nomv+")}$ etex);"+
 if(member(Z[0],IMIN)!=0){"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){
@@ -807,7 +813,7 @@ if(member(Z[0],IMIN)!=0){"debutNonDef;"}else{if(Z[0]==-infinity){if(sign(evalf(f
 
 if(nz>2){ for(r:=1; r<=nz-2;r++){ ksp:=evalf(fp(Z[r]+0.01))>0; 
                                                lsp:=lsp+if(member(Z[r],IMIN)!=0){"debutNonDef;"}else{
-                                                       if(member(Z[r],IMAX)!=0){"finNonDef;"+
+                                                       if(member(Z[r],IMAX)!=0){"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;"}
@@ -815,7 +821,7 @@ if(nz>2){ for(r:=1; r<=nz-2;r++){ ksp:=evalf(fp(Z[r]+0.01))>0;
 
 
 
-lsf:=if(member(Z[0],IMAX)!=0){"finNonDef;"}else{if(member(Z[nz-1],F)==0){""}else{"nonDefBarre;
+lsf:=if(member(Z[0],IMAX)!=0){"finNonDef;"}else{if(member(Z[nz-1],F)==0){""}else{"nonDefBarre;
 "}}
 
 
@@ -835,7 +841,7 @@ if(nz>2){
      lp:=lp+if(member(Z[r],IMIN)!=0){"limGauche(btex $"+if(lmrm==1){
              "-\\infty"}else{
                 latex(simplify(limit(f(x),x=Z[r],-1)))}
-         +"$ etex,"+if(krm==1){
+         +"$ etex,"+if(krm==1){
              "1);"}else{"0);"}
          +"debutNonDef;"
        }//fsi Zr=Imin
@@ -859,26 +865,26 @@ if(nz>2){
          }//fsi (member Zr F)
           else{"valPos(btex$"+latex(simplify(f(Z[r])))+"$etex,"+
              if(sign(evalf(fp(Z[r]-0.01)))==sign(fp(Z[r]+0.01))){
-               "0.5);"}else{
+               "0.5);"}else{
                     if(krp==1){
                        "1);"}else{"0);"}//felse(krp)
                     }//felse(valpos)
                }//felse(member Zr F)
                } //felse(Zr=Imax)
-              }//felse(Zr=Imin)
+              }//felse(Zr=Imin)
            };//ffor 
          }//fsi nz
 
-lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity;
+lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity;
 
 
 
 lf:=if(member(Z[nz-1],F)==0){"valPos(btex $"+
            if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$ etex,"+
              if(kz==1){"1);"}else{"0);"}}
-    else{"limGauche(btex $"+
+    else{"limGauche(btex $"+
          if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$ etex,"+ 
-           if(kz==1){"1);nonDefBarre;"}else{"0);nonDefBarre;"}};    
+           if(kz==1){"1);nonDefBarre;"}else{"0);nonDefBarre;"}};    
     
 
 
@@ -888,13 +894,13 @@ MetaLfc:=if(ftt==2){if(nz>2){"
 
 beginTableau("+nmr+")"+
         l0+lsi+lsp+lsf+"
-endTableau;
+endTableau;
 
 ";}else{
 intro+"beginTableau("+nmr+")"+
         l0+
 lsi+lsf+"
-endTableau;
+endTableau;
 
 ";
 }
@@ -904,39 +910,39 @@ li+
 lp+
 lf
 +"
-endTableau;
+endTableau;
 
 ";}else{"beginTableau("+nmr+")"+
         l0+
 li+
 lf
 +"
-endTableau;
+endTableau;
 
 ";}}else{
 if(nz>2){"beginTableau("+nmr+")"+
         l0+
 lsi+lsp+lsf+
 li+
-lp+
+lp+
 lf
 +"
 endTableau;
 
-";}else{"beginTableau("+nmr+")"+
+";}else{"beginTableau("+nmr+")"+
         l0+
 lsi+lsf+
 li+
 lf
 +"
-endTableau;
+endTableau;
 
 ";}
 }}
 
 
 sortie:=fopen("XCasmpfc.mp");
-fprint(sortie,Unquoted,MetaLfc);
+fprint(sortie,Unquoted,MetaLfc);
 fclose(sortie);
 
  }
@@ -953,7 +959,7 @@ fclose(sortie);
 
 
 
-\begin{VerbatimOut}{XcasTVapp.cxx}
+\begin{VerbatimOut}{XcasTVapp.cxx}
 
 
 
@@ -966,7 +972,7 @@ TVapp(L,F,nom,nomv,f,ftt,nmr):={
 
 nl:=size(L);
 f:=unapply(f,x);
-fp:=function_diff(f);
+fp:=function_diff(f);
 z0:=concat(L,F);z:=sort(z0);
 nz:=size(z);
 
@@ -977,7 +983,7 @@ nz:=size(z);
 
 S:=NULL;
 if(L==[-infinity,+infinity]){j:=[seq(-100+k,k=0..200)]minus F;for k in j do S:=S,fsolve(fp(x),x,k/10,newton_solver);end_for}
-else{if(L[0]==-infinity){j:=[seq(k,k=100..floor(L[1]))] minus F;for k in j do S:=S,fsolve(fp(x),x,k/10,newton_solver);end_for}
+else{if(L[0]==-infinity){j:=[seq(k,k=100..floor(L[1]))] minus F;for k in j do S:=S,fsolve(fp(x),x,k/10,newton_solver);end_for}
 else{if(L[1]==+infinity){j:=[seq(k,k=floor(L[0])..100)] minus F;for k in j do S:=S,fsolve(fp(x),x,k/10,newton_solver);end_for;}
 else{ j:=[seq(k,k=floor(z[0])..floor(z[nz-1]))] minus F;for k in j do S:=S,fsolve(fp(x),x,k/10,newton_solver);end_for;  }}};
 
@@ -989,7 +995,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,simplify(S[j]))}};
                           fpour;
-fsi;
+fsi;
 
 
 S:=NULL;
@@ -1014,7 +1020,7 @@ Z:=[S];
 
 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);
+pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex);
 ";fpour; 
 
        k0:= evalf(limit(f(x),x=Z[0],1))> evalf(limit(f(x),x=Z[1],-1));
@@ -1031,7 +1037,7 @@ if(nz>2){ for(r:=1; r<=nz-2;r++){      ksp:=evalf(fp(Z[r]+0.01))>0;
                                                 if(ksp==1){"plus;"}else{"moins;"}
                                                   }; }
 
-lsf:=if(member(Z[nz-1],F)==0){""}else{"nonDefBarre;
+lsf:=if(member(Z[nz-1],F)==0){""}else{"nonDefBarre;
 "}
 lm0:=limit(f(x),x=Z[0],1)==-infinity;
      li:=lvic+nom+"}$ etex);"+
@@ -1044,35 +1050,35 @@ lm0:=limit(f(x),x=Z[0],1)==-infinity;
                                                  krp:=evalf(limit(f(x),x=Z[r],1))> evalf(limit(f(x),x=Z[r+1],-1)) ;  
                          lmrm:=limit(f(x),x=Z[r],-1)==-infinity;lmrp:=limit(f(x),x=Z[r],1)==-infinity;
                                                   lp:=lp+if(member(Z[r],F)){
-                                    "limGauche(btex $"+if(lmrm==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}}
+                                    "limGauche(btex $"+if(lmrm==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}}
                                           else{"valPos(btex          $"+latex(simplify(f(Z[r])))+"$
                                             etex,"+if(sign(evalf(fp(Z[r]-0.01)))==sign(fp(Z[r]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);
 "}}}
                                                    }; }
 
-lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity;
+lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity;
  
 
 lf:=if(member(Z[nz-1],F)==0){"valPos(btex $"+
            if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$ etex,"+
              if(kz==1){"1);"}else{"0);"}}
-    else{"limGauche(btex $"+
+    else{"limGauche(btex $"+
          if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$ etex,"+ 
            if(kz==1){"1);nonDefBarre;"}else{"0);nonDefBarre;"}};    
     
 
 
-MetaLfc:=if(ftt==2){if(nz>2){"
+MetaLfc:=if(ftt==2){if(nz>2){"
 
 beginTableau("+nmr+")"+
         l0+lsi+lsp+lsf+"
-endTableau;
+endTableau;
 
 ";}else{
 intro+"beginTableau("+nmr+")"+
         l0+
 lsi+lsf+"
-endTableau;
+endTableau;
 
 ";
 }
@@ -1080,7 +1086,7 @@ endTableau;
         l0+
 li+
 lp+
-lf
+lf
 +"
 endTableau;
 
@@ -1097,7 +1103,7 @@ if(nz>2){"beginTableau("+nmr+")"+
 lsi+lsp+lsf+
 li+
 lp+
-lf
+lf
 +"
 endTableau;
 
@@ -1107,7 +1113,7 @@ lsi+lsf+
 li+
 lf
 +"
-endTableau;
+endTableau;
 
 ";}
 }}
@@ -1136,14 +1142,14 @@ fclose(sortie);
 
 %%
 %% Code giac/Xcas pour les Tableaux de Variations avec 
-%% Valeurs intermediaires
+%% Valeurs intermediaires
 %%
 
 
 
 
 
-\begin{VerbatimOut}{XcasTVI.cxx}
+\begin{VerbatimOut}{XcasTVI.cxx}
 
 
 TVI(L,F,nom,nomv,f,ftt,ao,trigo,nmr):={
@@ -1194,31 +1200,38 @@ l0:=" newLigneVariables(btex $"+nomv+"$ ete
 LI:=limit(f(x),x,Z[0],1);
 LF:=limit(f(x),x,Z[nz-1],-1);
 LP:=NULL;
-if(nz>2){ for(r:=1; r<=nz-2;r++){LP:=LP,if(member(Z[r],F)){limit(f(x),x,Z[r],-1),limit(f(x),x,Z[r],1)}else{f(Z[r])}}};
-if(nz>2){ LL:=[LI,LP,LF]}else{LL:=[LI,LF]};
+PB:=1;
+if(nz>2){ for(r:=1; r<=nz-2;r++){LP:=LP,if(member(Z[r],F)){limit(f(x),x,Z[r],-1),limit(f(x),x,Z[r],1)}else{f(Z[r])};if(member(Z[r],F)){PB:=PB,0,1}}};
+if(nz>2){ LL:=[LI,LP,LF]; PB:=[PB,1]}else{LL:=[LI,LF];PB:=[1,1]};
       
 NL:=size(LL);
-A:=NULL;aa:=1;kk:=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(NL==nz){for(k:=0;k<nz-1;k++){TestS:=(evalf(sign(LL[k]-ao))==evalf(sign(LL[k+1]-ao))) or (evalf(sign(LL[k]-ao))==0.0)or (evalf(sign(LL[k+1]-ao))==0.0);
 if(TestS==0){A:=A,aa;l0:=l0+"val(btex $"+latex(Z[k])+"$ etex);"+"val(btex $\\alpha_"+aa+"$ etex);";aa:=aa+1;}else{l0:=l0+"val(btex $"+latex(Z[k])+"$ etex);"}}
 l0:=l0+"val(btex $"+latex(Z[nz-1])+"$ etex);"};
+//chgmt NL->nz
+if(NL>nz){for(k:=0;k<NL-1;k++){TestS:=(evalf(sign(LL[k]-ao))==evalf(sign(LL[k+1]-ao))) or (evalf(sign(LL[k]-ao))==0.0)or (evalf(sign(LL[k+1]-ao))==0.0);
+  
+if(PB[k]==1){if(TestS==0){
+   A:=A,aa;l0:=l0+"val(btex $"+latex(Z[kk])+"$ etex);"+"val(btex $\\alpha_"+aa+"$ etex);";aa:=aa+1;kk:=kk+1}
+else{l0:=l0+"val(btex $"+latex(Z[kk])+"$ etex);";kk:=kk+1}};
+}
 
-if(NL>nz){for(k:=0;k<NL-1;k++){TestS:=(sign(evalf(LL[k]-ao))==sign(evalf(LL[k+1]-ao))) or (sign(evalf(LL[k]-ao))==0.0)or (sign(evalf(LL[k+1]-ao))==0.0);
-TestL:=(abs(LL[k])==abs(LL[k+1]));
-if(TestS==0){ if( TestL==1 ){l0:=l0}else{
-A:=A,aa;l0:=l0+"val(btex $"+latex(Z[kk])+"$ etex);"+"val(btex $\\alpha_"+aa+"$ etex);";aa:=aa+1;kk:=kk+1}}else{l0:=l0+"val(btex $"+latex(Z[kk])+"$ etex);";kk:=kk+1}}
-l0:=l0+"val(btex $"+latex(Z[nz-1])+"$ etex);
-"};
+ l0:=l0+"val(btex $"+latex(Z[nz-1])+"$ etex);"
 
+ };
 
 
-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);
+TestS:=(evalf(sign(LL[0]-ao))==evalf(sign(LL[1]-ao))) or (evalf(sign(LL[0]-ao))==0.0) or (evalf(sign(LL[1]-ao))==0.0);
        k0:= evalf(limit(f(x),x=Z[0],1))> evalf(limit(f(x),x=Z[1],-1));
        kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[nz-2],1));
                           
-lsi:=lsic+nom+"'("+nomv+")}$ etex);"+
-     if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){
+lsi:=lsic+nom+"'("+nomv+")}$ etex);"+
+     if(Z[0]==-infinity){if(evalf(sign(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^(-3))))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+
                                                          if(sign(fp(10^(-3)+Z[0]))==1){"plus;"}else{"moins;"} }}+if(TestS==0){"valBarre(btex$  $ etex);"+ if(sign(fp(10^(-3)+Z[0]))==1){"plus;"}else{"moins;"}}else{" "}; 
@@ -1226,28 +1239,33 @@ lsi:=lsic+nom+"'("+nomv+")}$ etex);"+
 
 
 
- 
-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); 
+if(nz>2){rr:=1; if(nz==NL){for(r:=1; r<=NL-2;r++){ TestS:=(evalf(sign(LL[r]-ao))==evalf(sign(LL[r+1]-ao))) or (evalf(sign(LL[r]-ao))==0.0)or (evalf(sign(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 $  $ 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;"}+
+                                          }}  
+else{for(r:=1; r<=NL-2;r++){kspp:=evalf(fp(Z[rr]+0.01))>0;TestS:=(evalf(sign(LL[r]-ao))==evalf(sign(LL[r+1]-ao))) or (evalf(sign(LL[r]-ao))==0.0)or (evalf(sign(LL[r+1]-ao))==0.0);
+                                         
+                      if(PB[r]==1){if(TestS==0){lsp:=lsp+if(member(Z[rr],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+
                                   if(kspp==1){"plus;"}else{"moins;"}+"valBarre(btex $  $ 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;}        
-}}     
-  }; 
+                                    else{lsp:=lsp+if(member(Z[rr],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+
+                                  if(kspp==1){"plus;"}else{"moins;"};rr:=rr+1;}        
+}}}}; 
 
 
 
-lsf:=if(member(Z[nz-1],F)==0){""}else{"nonDefBarre;"}
-lm0:=limit(f(x),x=Z[0],1)==-infinity;
 
-TestS:=(sign(evalf(LL[0]-ao))==sign(evalf(LL[1]-ao))) or (sign(evalf(LL[0]-ao))==0.0) or (sign(evalf(LL[1]-ao))==0.0);
+ lsf:=if(member(Z[nz-1],F)==0){" "}else{"nonDefBarre;"}
+
+
+
+lm0:=limit(f(x),x=Z[0],1)==-infinity;
+
+
+
+
+TestS:=(evalf(sign(LL[0]-ao))==evalf(sign(LL[1]-ao))) or (evalf(sign(LL[0]-ao))==0.0) or (evalf(sign(LL[1]-ao))==0.0);
 
      li:=lvic+nom+"}$ etex);
 "+  if(member(Z[0],F)==0){"valPos(btex $"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$ etex,"}
@@ -1255,63 +1273,68 @@ TestS:=(sign(evalf(LL[0]-ao))==sign(evalf(LL[1]-ao))) or (sign(evalf(LL[0]-ao))=
            if(k0==1){"1);"}else{"0);"}+if(TestS==0){"valPos(btex $ "+ao+" $ 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]-ao))==0.0); 
+                     if(nz>2){if(nz==NL){for(r:=1; r<=nz-2;r++){TestS:=(evalf(sign(LL[r]-ao))==evalf(sign(LL[r+1]-ao))) or (evalf(sign(LL[r]-ao))==0.0)or (evalf(sign(LL[r+1]-ao))==0.0); 
                                                  krm:=evalf(limit(f(x),x=Z[r-1],1))< evalf(limit(f(x),x=Z[r],-1));
                                                  krp:=evalf(limit(f(x),x=Z[r],1))> evalf(limit(f(x),x=Z[r+1],-1)) ;  
                          lmrm:=limit(f(x),x=Z[r],-1)==-infinity;lmrp:=limit(f(x),x=Z[r],1)==-infinity;
                                                   lp:=lp+if(member(Z[r],F)) {
                                     "limGauche(btex $"+if(lmrm==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}}
                                           else{"valPos(btex          $"+latex(simplify(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);"}}}+if(TestS==0){"valPos(btex
+                                            etex,"+if(evalf(sign(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
                                             $ "+ao+" $ 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); 
+};//for                
+}else{rr:=1;for(r:=1; r<=NL-2;r++){TestS:=(evalf(sign(LL[r]-ao))==evalf(sign(LL[r+1]-ao))) or (evalf(sign(LL[r]-ao))==0.0)or (evalf(sign(LL[r+1]-ao))==0.0); 
                                                  krm:=evalf(limit(f(x),x=Z[rr-1],1))< evalf(limit(f(x),x=Z[rr],-1));
                                                  krp:=evalf(limit(f(x),x=Z[rr],1))> evalf(limit(f(x),x=Z[rr+1],-1)) ;  
                          lmrm:=limit(f(x),x=Z[rr],-1)==-infinity;lmrp:=limit(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 $"+if(lmrm==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[rr],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[rr],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}}
+                   
+if(PB[r]==1){if(TestS==0){lp:=lp+if(member(Z[rr],F)){
+                                    "limGauche(btex $"+if(lmrm==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[rr],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[rr],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}}
                                           else{"valPos(btex          $"+latex(simplify(f(Z[rr])))+"$
-                                            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
+                                            etex,"+if(evalf(sign(fp(Z[rr]-0.01)))==sign(fp(Z[rr]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);"}}}+"valPos(btex
                                             $ "+ao+" $ etex,0.5);
                                                                  ";rr:=rr+1;
-}// else testL==1
-}//testS==0
-else{lp:=lp+if(member(Z[rr],F)){
+}//  testS==0
+else{lp:=lp+if(member(Z[rr],F)){
                                     "limGauche(btex $"+if(lmrm==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[rr],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[rr],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}}
                                           else{"valPos(btex          $"+latex(simplify(f(Z[rr])))+"$
-                                            etex,"+if(sign(evalf(fp(Z[rr]-0.01)))==sign(fp(Z[rr]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);
+                                            etex,"+if(evalf(sign(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
+}//PB[r]==1
 }//for nz<NL
-}// else nz<NL
+}// else nz<NL
 //if nz=NL
-};//if nz>2
+};//if nz>2
 
 
-lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity;
+
+lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity;
 
 
 lf:=if(member(Z[nz-1],F)==0){"valPos(btex $"+
            if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$ etex,"+
-             if(kz==1){"1);"}else{"0);"}}
+             if(kz==1){"1);"}else{"0);"}}
     else{"limGauche(btex $"+
          if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$ etex,"+ 
-           if(kz==1){"1);nonDefBarre;"}else{"0);nonDefBarre;"}};    
-    
+           if(kz==1){"1);nonDefBarre;"}else{"0);nonDefBarre;"}};    
 
 
 
-MetaLfc:= if(ftt==2){if(nz>2){"beginTableau("+nmr+")"+
+
+
+
+
+MetaLfc:= if(ftt==2){if(nz>2){"beginTableau("+nmr+")"+
         l0+lsi+lsp+lsf+"
 endTableau;
 
-";}else{
+";}else{
 "beginTableau("+nmr+")"+
         l0+
-lsi+lsf+"
-endTableau;
+lsi+lsf+"
+endTableau;
 
 ";
 }
@@ -1320,41 +1343,45 @@ if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+
         l0+
 li+
 lp+
-lf
+lf
 +"
-endTableau;
+endTableau;
 
 ";}else{"beginTableau("+nmr+")"+
         l0+
 li+
-lf
+lf
 +"
 endTableau;
 ";}}else{
-if(nz>2){"beginTableau("+nmr+")"+
+if(nz>2){"beginTableau("+nmr+")"+
         l0+
 lsi+lsp+lsf+
 li+
 lp+
 lf
 +"
-endTableau;
+endTableau;
 
 ";}else{"beginTableau("+nmr+")"+
         l0+
 lsi+lsf+
 li+
-lf
+lf
 +"
-endTableau;
+endTableau;
 
 ";}
 }};
 
 
 
+
+
+
+
 sortie:=fopen("XCasmpfc.mp");
-fprint(sortie,Unquoted,MetaLfc);
+fprint(sortie,Unquoted,MetaLfc);
 fclose(sortie);
 
 
@@ -1378,9 +1405,11 @@ fclose(sortie);
 
 
 
-\begin{VerbatimOut}{XcasTVIapp.cxx}
+\begin{VerbatimOut}{XcasTVIapp.cxx}
 
 
+\begin{VerbatimOut}{XcasTVIapp.cxx}
+
 TVIapp(L,F,nom,nomv,f,ftt,ao,nmr):={
 
 
@@ -1395,10 +1424,10 @@ nz:=size(z);
 
 
 S:=NULL;
-if(L==[-infinity,+infinity]){j:=[seq(-100+k,k=0..200)]minus F;for k in j do S:=S,fsolve(fp(x),x,k/10,newton_solver);end_for}
-else{if(L[0]==-infinity){j:=[seq(k,k=100..floor(L[1]))] minus F;for k in j do S:=S,fsolve(fp(x),x,k/10,newton_solver);end_for}
-else{if(L[1]==+infinity){j:=[seq(k,k=floor(L[0])..100)] minus F;for k in j do S:=S,fsolve(fp(x),x,k/10,newton_solver);end_for;}
-else{ j:=[seq(k,k=floor(z[0])..floor(z[nz-1]))] minus F;for k in j do S:=S,fsolve(fp(x),x,k/10,newton_solver);end_for;  }}};
+if(L==[-infinity,+infinity]){j:=[seq(-100+k,k=0..200)]minus F;for k in j do S:=S,resoudre_numerique(fp(x),x,k/10,newton_solver);end_for}
+else{if(L[0]==-infinity){j:=[seq(k,k=100..floor(L[1]))] minus F;for k in j do S:=S,resoudre_numerique(fp(x),x,k/10,newton_solver);end_for}
+else{if(L[1]==+infinity){j:=[seq(k,k=floor(L[0])..100)] minus F;for k in j do S:=S,resoudre_numerique(fp(x),x,k/10,newton_solver);end_for;}
+else{ j:=[seq(k,k=floor(z[0])..floor(z[nz-1]))] minus F;for k in j do S:=S,resoudre_numerique(fp(x),x,k/10,newton_solver);end_for;  }}};
 
 
 
@@ -1444,31 +1473,37 @@ l0:=" newLigneVariables(btex $"+nomv+"$ ete
 LI:=limit(f(x),x,Z[0],1);
 LF:=limit(f(x),x,Z[nz-1],-1);
 LP:=NULL;
-if(nz>2){ for(r:=1; r<=nz-2;r++){LP:=LP,if(member(Z[r],F)){limit(f(x),x,Z[r],-1),limit(f(x),x,Z[r],1)}else{f(Z[r])}}};
-if(nz>2){ LL:=[LI,LP,LF]}else{LL:=[LI,LF]};
+PB:=1;
+if(nz>2){ for(r:=1; r<=nz-2;r++){LP:=LP,if(member(Z[r],F)){limit(f(x),x,Z[r],-1),limit(f(x),x,Z[r],1)}else{f(Z[r])};if(member(Z[r],F)){PB:=PB,0,1}}};
+if(nz>2){ LL:=[LI,LP,LF]; PB:=[PB,1]}else{LL:=[LI,LF];PB:=[1,1]};
       
 NL:=size(LL);
-A:=NULL;aa:=1;kk:=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(NL==nz){for(k:=0;k<nz-1;k++){TestS:=(evalf(sign(LL[k]-ao))==evalf(sign(LL[k+1]-ao))) or (evalf(sign(LL[k]-ao))==0.0)or (evalf(sign(LL[k+1]-ao))==0.0);
 if(TestS==0){A:=A,aa;l0:=l0+"val(btex $"+latex(Z[k])+"$ etex);"+"val(btex $\\alpha_"+aa+"$ etex);";aa:=aa+1;}else{l0:=l0+"val(btex $"+latex(Z[k])+"$ etex);"}}
 l0:=l0+"val(btex $"+latex(Z[nz-1])+"$ etex);"};
+//chgmt NL->nz
+if(NL>nz){for(k:=0;k<NL-1;k++){TestS:=(evalf(sign(LL[k]-ao))==evalf(sign(LL[k+1]-ao))) or (evalf(sign(LL[k]-ao))==0.0)or (evalf(sign(LL[k+1]-ao))==0.0);
+  
+if(PB[k]==1){if(TestS==0){
+   A:=A,aa;l0:=l0+"val(btex $"+latex(Z[kk])+"$ etex);"+"val(btex $\\alpha_"+aa+"$ etex);";aa:=aa+1;kk:=kk+1}
+else{l0:=l0+"val(btex $"+latex(Z[kk])+"$ etex);";kk:=kk+1}};
+}
 
-if(NL>nz){for(k:=0;k<NL-1;k++){TestS:=(sign(evalf(LL[k]-ao))==sign(evalf(LL[k+1]-ao))) or (sign(evalf(LL[k]-ao))==0.0)or (sign(evalf(LL[k+1]-ao))==0.0);
-TestL:=(abs(LL[k])==abs(LL[k+1]));
-if(TestS==0){ if( TestL==1 ){l0:=l0}else{
-A:=A,aa;l0:=l0+"val(btex $"+latex(Z[kk])+"$ etex);"+"val(btex $\\alpha_"+aa+"$ etex);";aa:=aa+1;kk:=kk+1}}else{l0:=l0+"val(btex $"+latex(Z[kk])+"$ etex);";kk:=kk+1}}
-l0:=l0+"val(btex $"+latex(Z[nz-1])+"$ etex);
-"};
+ l0:=l0+"val(btex $"+latex(Z[nz-1])+"$ etex);"
 
+ };
 
 
-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);
+TestS:=(evalf(sign(LL[0]-ao))==evalf(sign(LL[1]-ao))) or (evalf(sign(LL[0]-ao))==0.0) or (evalf(sign(LL[1]-ao))==0.0);
        k0:= evalf(limit(f(x),x=Z[0],1))> evalf(limit(f(x),x=Z[1],-1));
        kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[nz-2],1));
                           
 lsi:=lsic+nom+"'("+nomv+")}$ etex);"+
-     if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){
+     if(Z[0]==-infinity){if(evalf(sign(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^(-3))))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+
                                                          if(sign(fp(10^(-3)+Z[0]))==1){"plus;"}else{"moins;"} }}+if(TestS==0){"valBarre(btex$  $ etex);"+ if(sign(fp(10^(-3)+Z[0]))==1){"plus;"}else{"moins;"}}else{" "}; 
@@ -1476,28 +1511,33 @@ lsi:=lsic+nom+"'("+nomv+")}$ etex);"+
 
 
 
- 
-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); 
+if(nz>2){rr:=1; if(nz==NL){for(r:=1; r<=NL-2;r++){ TestS:=(evalf(sign(LL[r]-ao))==evalf(sign(LL[r+1]-ao))) or (evalf(sign(LL[r]-ao))==0.0)or (evalf(sign(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 $  $ 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;"}+
+                                          }}  
+else{for(r:=1; r<=NL-2;r++){kspp:=evalf(fp(Z[rr]+0.01))>0;TestS:=(evalf(sign(LL[r]-ao))==evalf(sign(LL[r+1]-ao))) or (evalf(sign(LL[r]-ao))==0.0)or (evalf(sign(LL[r+1]-ao))==0.0);
+                                         
+                      if(PB[r]==1){if(TestS==0){lsp:=lsp+if(member(Z[rr],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+
                                   if(kspp==1){"plus;"}else{"moins;"}+"valBarre(btex $  $ 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;"}+
+                                    else{lsp:=lsp+if(member(Z[rr],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+
                                   if(kspp==1){"plus;"}else{"moins;"};rr:=rr+1;}        
-}}     
-  }; 
+}}}}; 
+
+
+
+
+ lsf:=if(member(Z[nz-1],F)==0){" "}else{"nonDefBarre;"}
 
 
 
-lsf:=if(member(Z[nz-1],F)==0){""}else{"nonDefBarre;"}
 lm0:=limit(f(x),x=Z[0],1)==-infinity;
 
-TestS:=(sign(evalf(LL[0]-ao))==sign(evalf(LL[1]-ao))) or (sign(evalf(LL[0]-ao))==0.0) or (sign(evalf(LL[1]-ao))==0.0);
+
+
+
+TestS:=(evalf(sign(LL[0]-ao))==evalf(sign(LL[1]-ao))) or (evalf(sign(LL[0]-ao))==0.0) or (evalf(sign(LL[1]-ao))==0.0);
 
      li:=lvic+nom+"}$ etex);
 "+  if(member(Z[0],F)==0){"valPos(btex $"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$ etex,"}
@@ -1505,43 +1545,44 @@ TestS:=(sign(evalf(LL[0]-ao))==sign(evalf(LL[1]-ao))) or (sign(evalf(LL[0]-ao))=
            if(k0==1){"1);"}else{"0);"}+if(TestS==0){"valPos(btex $ "+ao+" $ 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]-ao))==0.0); 
+                     if(nz>2){if(nz==NL){for(r:=1; r<=nz-2;r++){TestS:=(evalf(sign(LL[r]-ao))==evalf(sign(LL[r+1]-ao))) or (evalf(sign(LL[r]-ao))==0.0)or (evalf(sign(LL[r+1]-ao))==0.0); 
                                                  krm:=evalf(limit(f(x),x=Z[r-1],1))< evalf(limit(f(x),x=Z[r],-1));
                                                  krp:=evalf(limit(f(x),x=Z[r],1))> evalf(limit(f(x),x=Z[r+1],-1)) ;  
                          lmrm:=limit(f(x),x=Z[r],-1)==-infinity;lmrp:=limit(f(x),x=Z[r],1)==-infinity;
                                                   lp:=lp+if(member(Z[r],F)) {
                                     "limGauche(btex $"+if(lmrm==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}}
                                           else{"valPos(btex          $"+latex(simplify(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);"}}}+if(TestS==0){"valPos(btex
+                                            etex,"+if(evalf(sign(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
                                             $ "+ao+" $ 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); 
+};//for                
+}else{rr:=1;for(r:=1; r<=NL-2;r++){TestS:=(evalf(sign(LL[r]-ao))==evalf(sign(LL[r+1]-ao))) or (evalf(sign(LL[r]-ao))==0.0)or (evalf(sign(LL[r+1]-ao))==0.0); 
                                                  krm:=evalf(limit(f(x),x=Z[rr-1],1))< evalf(limit(f(x),x=Z[rr],-1));
                                                  krp:=evalf(limit(f(x),x=Z[rr],1))> evalf(limit(f(x),x=Z[rr+1],-1)) ;  
                          lmrm:=limit(f(x),x=Z[rr],-1)==-infinity;lmrp:=limit(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)) {
+                   
+if(PB[r]==1){if(TestS==0){lp:=lp+if(member(Z[rr],F)){
                                     "limGauche(btex $"+if(lmrm==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[rr],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[rr],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}}
                                           else{"valPos(btex          $"+latex(simplify(f(Z[rr])))+"$
-                                            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
+                                            etex,"+if(evalf(sign(fp(Z[rr]-0.01)))==sign(fp(Z[rr]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);"}}}+"valPos(btex
                                             $ "+ao+" $ etex,0.5);
                                                                  ";rr:=rr+1;
-}// else testL==1
-}//testS==0
+}//  testS==0
 else{lp:=lp+if(member(Z[rr],F)){
                                     "limGauche(btex $"+if(lmrm==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[rr],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[rr],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}}
                                           else{"valPos(btex          $"+latex(simplify(f(Z[rr])))+"$
-                                            etex,"+if(sign(evalf(fp(Z[rr]-0.01)))==sign(fp(Z[rr]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);
+                                            etex,"+if(evalf(sign(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
+}//PB[r]==1
 }//for nz<NL
 }// else nz<NL
 //if nz=NL
 };//if nz>2
 
 
-lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity;
 
+lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity;
 
 
 lf:=if(member(Z[nz-1],F)==0){"valPos(btex $"+
@@ -1550,7 +1591,7 @@ lf:=if(member(Z[nz-1],F)==0){"valPos(btex $"+
     else{"limGauche(btex $"+
          if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$ etex,"+ 
            if(kz==1){"1);nonDefBarre;"}else{"0);nonDefBarre;"}};    
-    
+
 
 
 
@@ -1607,6 +1648,7 @@ endTableau;
 
 
 
+
 sortie:=fopen("XCasmpfc.mp");
 fprint(sortie,Unquoted,MetaLfc);
 fclose(sortie);
@@ -1616,8 +1658,8 @@ fclose(sortie);
 
 
 
-\end{VerbatimOut}
 
+\end{VerbatimOut}
 
 
 
@@ -2038,7 +2080,7 @@ fclose(sortie);
 
 
 \begin{VerbatimOut}{XcasTabSignQ.cxx}
-TSq(nomf,L,Fo,D,trigo,nmr):={
+TSq(nomf,L,Fo,D,trigo,nmr):={
 L:=apply(f->unapply(f,x),L);
 Fo:=apply(f->unapply(f,x),Fo);
 L:=concat(L,Fo);
@@ -2104,7 +2146,7 @@ SF:=concat(SF,simplify(subst(SSF[j],n_1=mm)));mm:=mm-1;
 }
 
 }else{
-SF:=solve(Fo[k](x),x);
+SF:=solve(Fo[k](x),x);
 }
 
   si size(SF)>0 alors pour j de 0 jusque size(SF)-1 faire 
-- 
cgit v1.2.3