From 64af07dd2e1f98360294c12eab5db723fccb13b4 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 16 May 2009 18:56:14 +0000 Subject: tablor 4.04-g (14may09) git-svn-id: svn://tug.org/texlive/trunk@13125 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/tablor/tablor.html | 372 ++++++++++----------- .../texmf-dist/tex/latex/tablor/tablor-xetex.sty | 90 +++-- Master/texmf-dist/tex/latex/tablor/tablor.sty | 45 +-- 3 files changed, 255 insertions(+), 252 deletions(-) (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/tablor/tablor.html b/Master/texmf-dist/doc/latex/tablor/tablor.html index 50dfc3084de..74c0c505ef4 100644 --- a/Master/texmf-dist/doc/latex/tablor/tablor.html +++ b/Master/texmf-dist/doc/latex/tablor/tablor.html @@ -87,7 +87,7 @@
 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{tablor}[19/04/2009 v4.04-d la machine a creer des tableaux de signes et variations]
+\ProvidesPackage{tablor}[14/05/2009 v4.04-f 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
@@ -132,7 +132,7 @@
 % \end{TVZ}
 %
 %
-% tableau avec valeurs intermediares
+% tableau avec valeurs intermediares
 %\begin{TVI}
 %TVI([-1,+infinity],[-1],"f","x",x2/sqrt(x+1)-1,1,2,n,\tv)
 %\end{TVI}
@@ -190,11 +190,11 @@
 
 
 \RequirePackage{filecontents}
-\RequirePackage{ifthen}
+\RequirePackage{ifthen}
 \RequirePackage{fancyvrb}
-\RequirePackage{ifpdf}
+\RequirePackage{ifpdf}
 
-\fvset{gobble=0}
+\fvset{gobble=0}
 
 % option xcas present 
 
@@ -208,21 +208,21 @@
 
 
 
-%% Initialisation du choix d'OS
-\newboolean{windows}\setboolean{windows}{false}
+%% Initialisation du choix d'OS
+\newboolean{windows}\setboolean{windows}{false}
 
 
 
 %% on configure  tablor  dans un fichier exterieur pour la plateforme
-%% et l'editeur
+%% 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
-\ifthenelse{\boolean{windows}}%
+\ifthenelse{\boolean{windows}}%
     {\newcommand{\rem}{DEL } \newcommand{\cat}{TYPE }
-      \newcommand{\cp}{COPY }}%
+      \newcommand{\cp}{COPY }}%
     {\newcommand{\rem}{rm }\newcommand{\cat}{cat }
       \newcommand{\cp}{cp }}
 
@@ -232,7 +232,7 @@
 
 
 
-%% pour ceux compilant via pdflatex
+%% pour ceux compilant via pdflatex
 
 \ifpdf
 \DeclareGraphicsRule{*}{mps}{*}{}
@@ -246,12 +246,12 @@
 
 
 
-%% Pour clore les fichiers metapost 
+%% Pour clore les fichiers metapost 
 
 
-  \begin{VerbatimOut}{queue.mp}
+  \begin{VerbatimOut}{queue.mp}
   
-  end
+  end
 
   \end{VerbatimOut}
 
@@ -264,7 +264,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}
 }
 
 
@@ -286,7 +286,7 @@
 
 
 %% permet de donner un prefixe aux tableaux produits (\jobname par defaut)
-%% effectue quelques verifications :
+%% effectue quelques verifications :
 
 
 \newcommand{\initablor}[1][\jobname]{%
@@ -294,16 +294,16 @@
 \setcounter{TVn}{0}%     Initialisation du compteur de tableaux.
 \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{\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 )
 }}%
 
 
@@ -313,7 +313,7 @@
 \makeatletter
 \newcommand{\executGiacmp}[1]{%
 \ifthenelse{\boolean{windows}}%
-{\immediate\write18{giac #1 }}%
+{\immediate\write18{giac #1 }}%
 {\immediate\write18{giac  <#1 }}}
 \makeatother
 
@@ -335,22 +335,22 @@
 
 
 \begin{VerbatimOut}{XcasTV.cxx}
-TV(L,F,nom,nomv,f,ftt,trigo,nmr):={
-nl:=size(L);
+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]){
@@ -373,7 +373,7 @@ nz:=size(Z);
 
 
  tantque evalf(Z[0])==evalf(Z[1]) faire Z:=Z[1..nz-1];nz:=size(Z);
-     ftantque;
+     ftantque;
 
 
 
@@ -385,7 +385,7 @@ nz:=size(Z);
                              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
-  fsi;
+  fsi;
 
 
 Z:=sort([op(set[op(Z)])]);
@@ -398,7 +398,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],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;"+
@@ -411,7 +411,7 @@ if(nz>2){ for(r:=1; r<=nz-2;r++){      ksp:=evalf(fp(Z[r]+0.1))>0;
 
 lsf:=if(member(Z[nz-1],F)==0){""}else{"nonDefBarre;
 "}
-lm0:=limit(f(x),x=Z[0],1)==-infinity;
+lm0:=limit(f(x),x=Z[0],1)==-infinity;
      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,"}
              else{"nonDefBarre;limDroite(btex $"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$ etex,"}+                               
@@ -430,7 +430,7 @@ 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;
                           
 
 
@@ -438,24 +438,24 @@ 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(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;
 
 ";
 }
@@ -463,7 +463,7 @@ endTableau;
         l0+
 li+
 lp+
-lf
+lf
 +"
 endTableau;
 
@@ -480,7 +480,7 @@ if(nz>2){"beginTableau("+nmr+")"+
 lsi+lsp+lsf+
 li+
 lp+
-lf
+lf
 +"
 endTableau;
 
@@ -490,13 +490,13 @@ lsi+lsf+
 li+
 lf
 +"
-endTableau;
+endTableau;
 
 ";}
 }}
 
 
-sortie:=fopen("XCasmpfc.mp");
+sortie:=fopen("XCasmpfc.mp");
 fprint(sortie,Unquoted,MetaLfc);
 fclose(sortie);
 
@@ -685,7 +685,7 @@ endTableau;
 }}
 
 
-sortie:=fopen("XCasmpfc.mp");
+sortie:=fopen("XCasmpfc.mp");
 fprint(sortie,Unquoted,MetaLfc);
 fclose(sortie);
 
@@ -929,7 +929,7 @@ endTableau;
 }}
 
 
-sortie:=fopen("XCasmpfc.mp");
+sortie:=fopen("XCasmpfc.mp");
 fprint(sortie,Unquoted,MetaLfc);
 fclose(sortie);
 
@@ -969,7 +969,7 @@ nz:=size(z);
 
 
 
-S:=op(fsolve(fp(x),x));
+S:=op(fsolve(fp(x),x));
 if(L==[-infinity,+infinity]){j:=[seq(-100+k,k=0..200)]minus F;
   for k in j do for(m:=-5;m<=5;m++){S:=S,fsolve(fp(x),x,k+m*0.1,newton_solver)};end_for}
 else{if(L[0]==-infinity){j:=[seq(k,k=-100..floor(L[1]))] minus F;
@@ -991,7 +991,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;
@@ -1022,7 +1022,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],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;"+
@@ -1033,7 +1033,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);"+
@@ -1052,15 +1052,15 @@ 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(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;"}};    
     
 
 
@@ -1068,30 +1068,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+")"+
@@ -1099,17 +1099,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;
 
 ";}
 }}
@@ -1117,7 +1117,7 @@ lf
 
 sortie:=fopen("XCasmpfc.mp");
 fprint(sortie,Unquoted,MetaLfc);
-fclose(sortie);
+fclose(sortie);
 
 
  }:;
@@ -1138,14 +1138,14 @@ fprint(sortie,Unquoted,MetaLfc);
 
 %%
 %% 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):={
@@ -1159,7 +1159,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;
@@ -1175,7 +1175,7 @@ S:=solve(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(L[0])) and (evalf(S[j])<=evalf(L[nl-1]));
                           if(kk==1){Z:=append(Z,simplify(S[j]))};
                           fpour
   fsi;
@@ -1186,7 +1186,7 @@ Z:=sort([op(set[op(Z)])]);
 
 
 nz:=size(Z);
-l0:=" newLigneVariables(btex $"+nomv+"$ etex);";lp:=" "; lf:=" ";lsp:=" ";
+l0:=" newLigneVariables(btex $"+nomv+"$ etex);";lp:=" "; lf:=" ";lsp:=" ";
 
 
 
@@ -1203,7 +1203,7 @@ 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;
+kk:=0;
 
 
 
@@ -1215,7 +1215,7 @@ if(NL>nz){for(k:=0;k<NL-1;k++){TestS:=(evalf(sign(LL[k]-ao))==evalf(sign(L
   
 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}};
+else{l0:=l0+"val(btex $"+latex(Z[kk])+"$ etex);";kk:=kk+1}};
 }
 
  l0:=l0+"val(btex $"+latex(Z[nz-1])+"$ etex);"
@@ -1223,7 +1223,7 @@ else{l0:=l0+"val(btex $"+latex(Z[kk])+"$ et
  };
 
 
-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);
+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));
                           
@@ -1242,22 +1242,22 @@ if(nz>2){rr:=1; if(nz==NL){for(r:=1; r<=NL-2;r++){ TestS:=(evalf(sign(LL[r
                                  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:=(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);
+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(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;}        
+                                  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;
+lm0:=limit(f(x),x=Z[0],1)==-infinity;
 
 
 
@@ -1287,35 +1287,35 @@ TestS:=(evalf(sign(LL[0]-ao))==evalf(sign(LL[1]-ao))) or (evalf(sign(LL[0]-ao))=
                          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(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);"}}
+                                    "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(evalf(sign(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;
 }//  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(evalf(sign(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
 
 
 
-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;"}};    
 
 
 
@@ -1323,14 +1323,14 @@ lf:=if(member(Z[nz-1],F)==0){"valPos(btex $"+
 
 
 
-MetaLfc:= if(ftt==2){if(nz>2){"beginTableau("+nmr+")"+
+MetaLfc:= if(ftt==2){if(nz>2){"beginTableau("+nmr+")"+
         l0+lsi+lsp+lsf+"
 endTableau;
 
 ";}else{
 "beginTableau("+nmr+")"+
         l0+
-lsi+lsf+"
+lsi+lsf+"
 endTableau;
 
 ";
@@ -1342,12 +1342,12 @@ li+
 lp+
 lf
 +"
-endTableau;
+endTableau;
 
 ";}else{"beginTableau("+nmr+")"+
         l0+
 li+
-lf
+lf
 +"
 endTableau;
 ";}}else{
@@ -1358,7 +1358,7 @@ li+
 lp+
 lf
 +"
-endTableau;
+endTableau;
 
 ";}else{"beginTableau("+nmr+")"+
         l0+
@@ -1366,7 +1366,7 @@ lsi+lsf+
 li+
 lf
 +"
-endTableau;
+endTableau;
 
 ";}
 }};
@@ -1377,8 +1377,8 @@ lf
 
 
 
-sortie:=fopen("XCasmpfc.mp");
-fprint(sortie,Unquoted,MetaLfc);
+sortie:=fopen("XCasmpfc.mp");
+fprint(sortie,Unquoted,MetaLfc);
 fclose(sortie);
 
 
@@ -1401,24 +1401,24 @@ fclose(sortie);
 %%%%%%%%%
 
 
-\begin{VerbatimOut}{XcasTVIex.cxx}
+\begin{VerbatimOut}{XcasTVIex.cxx}
 
 
 
 TVIex(L,F,nom,nomv,f,ftt,ao,trigo,nmr):={
 nl:=size(L);
 f:=unapply(f,x);
-fp:=function_diff(f);
+fp:=function_diff(f);
 Z:=concat(L,F);
 S:=[];
 
 Sex:=NULL;
 Zex:=solve(f(x)=ao);
-Zex:=sort(Zex);
+Zex:=sort(Zex);
 for(j:=0;j<size(Zex);j++){
 if((evalf(Zex[j])>=evalf(L[0])) and (evalf(Zex[j])<=evalf(L[nl-1]))){Sex:=Sex,Zex[j]};
 };
-Sex:=[Sex];
+Sex:=[Sex];
 
 
 
@@ -1431,13 +1431,13 @@ if(trigo==t){
 all_trig_solutions:=1;
 reset_solve_counter(-1,-1);
 SS:=solve(factor(simplify(fp(x))),x);
-ns:=size(SS);
+ns:=size(SS);
 for(k:=0;k<ns;k++){
 m:=0;
 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]){
+while(evalf(subst(SS[k],n_1=m))>=L[0]){
 S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m-1;
 }
 }
@@ -1457,7 +1457,7 @@ S:=solve(fp(x),x);
 
 
 nz:=size(Z);
-l0:=" newLigneVariables(btex $"+nomv+"$ etex);";lp:=" "; lf:=" ";lsp:=" ";
+l0:=" newLigneVariables(btex $"+nomv+"$ etex);";lp:=" "; lf:=" ";lsp:=" ";
 
 
 
@@ -1470,11 +1470,11 @@ if(nz>2){                                                       for(r:=1;
 if(member(Z[r],F)){PB:=PB,0,1}else{PB:=PB,1};
 }
 };
-if(nz>2){ LL:=[LI,LP,LF]; PB:=[PB,1]}else{LL:=[LI,LF];PB:=[1,1]};
+if(nz>2){ LL:=[LI,LP,LF]; PB:=[PB,1]}else{LL:=[LI,LF];PB:=[1,1]};
       
 NL:=size(LL);
 A:=NULL;aa:=0;
-kk:=0;
+kk:=0;
 
 
 
@@ -1484,17 +1484,17 @@ 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){
+if(PB[k]==1){if(TestS==0){
    A:=A,aa;l0:=l0+"val(btex $"+latex(Z[kk])+"$ etex);"+"val(btex $"+latex(simplify(Sex[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:=(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);
+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));
                           
@@ -1507,28 +1507,28 @@ lsi:=lsic+nom+"'("+nomv+")}$ etex);"+
 
 
 
-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); 
+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;"}+
+                                 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:=(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;}
+                                  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;}        
+                                  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;
+lm0:=limit(f(x),x=Z[0],1)==-infinity;
 
 
 
@@ -1536,7 +1536,7 @@ lm0:=limit(f(x),x=Z[0],1)==- etex);
-"+  if(member(Z[0],F)==0){"valPos(btex $"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$ etex,"}
+"+  if(member(Z[0],F)==0){"valPos(btex $"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$ etex,"}
              else{"nonDefBarre;limDroite(btex $"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$ etex,"}+                               
            if(k0==1){"1);"}else{"0);"}+if(TestS==0){"valPos(btex $ "+ao+" $ etex,0.5);"}else{" "}; 
                          
@@ -1546,7 +1546,7 @@ TestS:=(evalf(sign(LL[0]-ao))==evalf(sign(LL[1]-ao))) or (evalf(sign(LL[0]-ao))=
                                                  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(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);"
@@ -1560,33 +1560,33 @@ TestS:=(evalf(sign(LL[0]-ao))==evalf(sign(LL[1]-ao))) or (evalf(sign(LL[0]-ao))=
 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(evalf(sign(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;
 }//  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);"}}
+                                    "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(evalf(sign(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=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 $"+
            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;"}};    
 
 
 
@@ -1596,48 +1596,48 @@ lf:=if(member(Z[nz-1],F)==0){"valPos(btex $"+
 
 MetaLfc:= if(ftt==2){if(nz>2){"beginTableau("+nmr+")"+
         l0+lsi+lsp+lsf+"
-endTableau;
+endTableau;
 
 ";}else{
 "beginTableau("+nmr+")"+
         l0+
 lsi+lsf+"
-endTableau;
+endTableau;
 
 ";
 }
 }else{
-if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+
+if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+
         l0+
 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;
 
 ";}
 }};
@@ -1647,7 +1647,7 @@ lf
 
 
 
-sortie:=fopen("XCasmpfc.mp");
+sortie:=fopen("XCasmpfc.mp");
 fprint(sortie,Unquoted,MetaLfc);
 fclose(sortie);
 
@@ -1673,7 +1673,7 @@ fclose(sortie);
 
 \begin{VerbatimOut}{XcasTVIapp.cxx}
 
-TVIapp(L,F,nom,nomv,f,ftt,ao,nmr):={
+TVIapp(L,F,nom,nomv,f,ftt,ao,nmr):={
 
 
 nl:=size(L);
@@ -1688,7 +1688,7 @@ nz:=size(z);
 
 
 
-S:=op(fsolve(fp(x),x));
+S:=op(fsolve(fp(x),x));
 if(L==[-infinity,+infinity]){j:=[seq(-100+k,k=0..200)]minus F;
   for k in j do for(m:=-5;m<=5;m++){S:=S,fsolve(fp(x),x,k+m*0.1,newton_solver)};end_for}
 else{if(L[0]==-infinity){j:=[seq(k,k=-100..floor(L[1]))] minus F;
@@ -1972,7 +1972,7 @@ fp:=append(fp,function_diff(f[d]));
 LLL:=concat(L,F[d]);
 Z:=LLL union Z;
 SS:=solve(factor(simplify(fp[d](t))),t);
-ns:=size(SS);
+ns:=size(SS);
 
 for(k:=0;k<ns;k++){
 if(trigo==t){
@@ -1988,7 +1988,7 @@ S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m-1;
 
 }
 }else{
-S:=concat(S,SS);
+S:=concat(S,SS);
 }
 }
 
@@ -2009,12 +2009,12 @@ nz:=size(Z);
 
 
 
-nz:=size(Z);
+nz:=size(Z);
 u:=1;
  tantque (u<nz-2) and (nz>2) faire
      tantque evalf(Z[u])==evalf(Z[u+1]) faire
          Z:=augment(Z[0..u-1],Z[u+1..nz-1]);nz:=size(Z);
-     ftantque;
+     ftantque;
   u:=u+1;
  ftantque;
 
@@ -2032,12 +2032,12 @@ pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+
 
  lsi:="","";
 
-FFF:=[[],[]];
+FFF:=[[],[]];
 
 for(d:=0;d<=1;d++){
 FFF[d]:=concat(F[d],[-infinity,+infinity]);
        k0:= evalf(limit(f[d](x),x=Z[0],1))> evalf(limit(f[d](x),x=Z[1],-1));
-       kz:=evalf(limit(f[d](x),x=Z[nz-1],-1))> evalf(limit(f[d](x),x=Z[nz-2],1));
+       kz:=evalf(limit(f[d](x),x=Z[nz-1],-1))> evalf(limit(f[d](x),x=Z[nz-2],1));
 //}
 //$
  lsi[d]:=lsic+nom[d]+"'("+nomv+")}$ etex);"+if(member(Z[0],FFF[d])==0){"valBarre(btex $"+latex(simplify(fp[d](Z[0])))+"$ etex);"}else{if(Z[0]==-infinity){" "}else{"nonDefBarre;
@@ -2051,7 +2051,7 @@ if(nz>2){ for(r:=1; r<=nz-2;r++){      ksp:=evalf(fp[d](Z[r]+0.01))>0;
                                                 if(ksp==1){"plus;"}else{"moins;"}
                                                   }; }
 
-lsf[d]:=if(member(Z[nz-1],FFF[d])==0){"valBarre(btex $"+latex(simplify(fp[d](Z[nz-1])))+"$ etex);"}else{if(Z[nz-1]==+infinity){" "}else{"nonDefBarre;"}}
+lsf[d]:=if(member(Z[nz-1],FFF[d])==0){"valBarre(btex $"+latex(simplify(fp[d](Z[nz-1])))+"$ etex);"}else{if(Z[nz-1]==+infinity){" "}else{"nonDefBarre;"}}
 
 
 
@@ -2073,37 +2073,37 @@ lsf[d]:=if(member(Z[nz-1],FFF[d])==0){"valBarre(btex nz-2],1));
 //{
 //$
 lm0[d]:=limit(f[d](x),x,Z[0],1)==-infinity;
      li[d]:=lvic+nom[d]+"}$ etex);"+
-           if(member(Z[0],F[d])==0){"valPos(btex $"+if(lm0[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x,Z[0],1)))}+"$ etex,"}
+           if(member(Z[0],F[d])==0){"valPos(btex $"+if(lm0[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x,Z[0],1)))}+"$ etex,"}
              else{"nonDefBarre;limDroite(btex $"+if(lm0[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x,Z[0],1)))}+"$ etex,"}+
            if(K0[d]==1){"1"}else{"0"}+
                          ");";
 
-                     if(nz>2){ for(r:=1; r<=nz-2;r++){ krm[d]:=evalf(limit(f[d](x),x=Z[r-1],1))< evalf(limit(f[d](x),x=Z[r],-1));
+                     if(nz>2){ for(r:=1; r<=nz-2;r++){ krm[d]:=evalf(limit(f[d](x),x=Z[r-1],1))< evalf(limit(f[d](x),x=Z[r],-1));
                                                  krp[d]:=evalf(limit(f[d](x),x=Z[r],1))> evalf(limit(f[d](x),x,Z[r+1],-1)) ;
                          lmrm[d]:=limit(f[d](x),x,Z[r],-1)==-infinity;lmrp[d]:=limit(f[d](x),x,Z[r],1)==-infinity;
                                                   lp[d]:=lp[d]+if(member(Z[r],F[d])){
                                     "limGauche(btex
                                     $"+if(lmrm[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x,Z[r],-1)))}+"$
-                                    etex,"+if(krm[d]==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x,Z[r],1)))}+"$ etex,"+if(krp[d]==1){"1);"}else{"0);"}}
+                                    etex,"+if(krm[d]==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x,Z[r],1)))}+"$ etex,"+if(krp[d]==1){"1);"}else{"0);"}}
                                           else{"valPos(btex          $"+latex(simplify(f[d](Z[r])))+"$
                                             etex,"+if(sign(evalf(fp[d](Z[r]-0.001)))==sign(evalf((fp[d](Z[r]+0.001))) )){"0.5);"}else{if(krp[d]==1){"1);"}else{"0);
 "}}}
                                                    }; }
 
-lnz[d]:=limit(f[d](x),x=Z[nz-1],-1)==-infinity;
+lnz[d]:=limit(f[d](x),x=Z[nz-1],-1)==-infinity;
 
 
 lf[d]:=if(member(Z[nz-1],F[d])==0){"valPos(btex $"+
            if(lnz[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x=Z[nz-1],-1)))}+"$ etex,"+
-             if(Kz[d]==1){"1);"}else{"0);"}}
+             if(Kz[d]==1){"1);"}else{"0);"}}
     else{"limGauche(btex $"+
          if(lnz[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x=Z[nz-1],-1)))}+"$ etex,"+ 
-           if(Kz[d]==1){"1);nonDefBarre;"}else{"0);nonDefBarre;"}};    
+           if(Kz[d]==1){"1);nonDefBarre;"}else{"0);nonDefBarre;"}};    
     
 
 
@@ -2119,17 +2119,17 @@ lf[d]:=if(member(Z[nz-1],F[d])==0){"valPos(btex $"
 
 
 
-MetaLfc:=if(ftt==2){if(nz>2){"
+MetaLfc:=if(ftt==2){if(nz>2){"
 
 beginTableau("+nmr+")"+
         l0+lsi[0]+lsp[0]+lsf[0]+lsi[1]+lsp[1]+lsf[1]+"
-endTableau;
+endTableau;
 
 ";}else{
 intro+"beginTableau("+nmr+")"+
         l0+
 lsi[0]+lsf[0]+lsi[1]+lsf[1]+"
-endTableau;
+endTableau;
 
 ";
 }
@@ -2137,24 +2137,24 @@ endTableau;
         l0+
 li[0]+
 lp[0]+
-lf[0]+
+lf[0]+
 li[1]+
 lp[1]+
 lf[1]
 +"
-endTableau;
+endTableau;
 
 ";}else{"beginTableau("+nmr+")"+
         l0+
 li[0]+
 lf[0]+
 li[1]+
-lf[1]
+lf[1]
 +"
 endTableau;
 
 ";}}else{
-if(nz>2){"beginTableau("+nmr+")"+
+if(nz>2){"beginTableau("+nmr+")"+
         l0+
 lsi[0]+lsp[0]+lsf[0]+
 li[0]+
@@ -2165,7 +2165,7 @@ li[1]+
 lp[1]+
 lf[1]
 +"
-endTableau;
+endTableau;
 
 ";}else{"beginTableau("+nmr+")"+
         l0+
@@ -2176,7 +2176,7 @@ lsi[1]+lsf[1]+
 li[1]+
 lf[1]
 +"
-endTableau;
+endTableau;
 
 ";}
 }
@@ -2241,7 +2241,7 @@ S:=solve(L[k](x),x);
                           if(S[j]>mini and S[j]<maxi){Z:=Z,simplify(S[j]);}
                       fpour;
   fsi;
-fpour;
+fpour;
 
 
 
@@ -2251,12 +2251,12 @@ Z:=sort(Z);
 nz:=size(Z);
 
 
- Z:=sort([op(set[op(Z)])]);
+ Z:=sort([op(set[(Z)])]);
 
 
 nz:=size(Z);
 
-if(nz==0){li:="";l0:="val(btex $"+latex(D[0])+"$ etex);val(btex $"+latex(D[1])+"$ etex);";
+if(nz==0){li:="";l0:="val(btex $"+latex(D[0])+"$ etex);val(btex $"+latex(D[1])+"$ etex);";
           for(p:=0;p<=n-1;p++){li:=li+lsic+latex(L[p](x))+"}$ etex);"+
 if(mini!=-infinity and L[p](mini)==0){"
                                 valBarre(btex 0 etex);"}else{"
@@ -2269,7 +2269,7 @@ if(L[p]((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}+if(maxi!=+infinity and L[p
            lf:=if(product(L[s]((mini+maxi)*.5),s,0,n-1)>0){"plus;"}else{"moins;"};
 
 
-MetaLfc:="    beginTableau("+nmr+")
+MetaLfc:="    beginTableau("+nmr+")
 newLigneVariables(btex $ {x}$ etex);
    "+l0+li+ lsic+nomf+"(x)}$ etex);"+
                if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){"
@@ -2351,7 +2351,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);
@@ -2361,7 +2361,7 @@ m:=size(Fo);
 F:=NULL;FF:=NULL;
 mini:=D[0]; maxi:=D[1];
 S:=[];
-SF:=[];
+SF:=[];
 
 pour k de 0 jusque n-1 faire 
 
@@ -2369,7 +2369,7 @@ pour k de 0 jusque n-1 faire
 
 if(trigo==t){
 all_trig_solutions:=1;
-reset_solve_counter(-1,-1);
+reset_solve_counter(-1,-1);
 SS:=solve(factor(simplify(L[k](x))),x);
 ns:=size(SS);
 for(j:=0;j<ns;j++){
@@ -2383,7 +2383,7 @@ S:=concat(S,simplify(subst(SS[j],n_1=mm)));mm:=mm-1;
 }
 
 }else{
-S:=concat(S,solve(L[k](x),x));
+S:=concat(S,solve(L[k](x),x));
 }
 
 
@@ -2392,7 +2392,7 @@ S:=concat(S,fpour;
+                      fpour;
   fsi;
 fpour;
 
@@ -2402,29 +2402,29 @@ pour k de 0 jusque m-1 faire
 
 
 if(trigo==t){
-all_trig_solutions:=1;
-reset_solve_counter(-1,-1);
+all_trig_solutions:=1;
+reset_solve_counter(-1,-1);
 SSF:=solve(factor(simplify(Fo[k](x))),x);
-nsf:=size(SSF);
+nsf:=size(SSF);
 for(j:=0;j<nsf;j++){
 mm:=0;
-while(evalf(simplify(subst(SSF[j],n_1=mm)))<=evalf(maxi)){
-SF:=concat(SF,simplify(subst(SSF[j],n_1=mm)));mm:=mm+1;
+while(evalf(simplify(subst(SSF[j],n_1=mm)))<=evalf(maxi)){
+SF:=concat(SF,simplify(subst(SSF[j],n_1=mm)));mm:=mm+1;
 };mm:=-1;
-while(evalf(subst(SSF[j],n_1=mm))>=evalf(mini)){
+while(evalf(subst(SSF[j],n_1=mm))>=evalf(mini)){
 SF:=concat(SF,simplify(subst(SSF[j],n_1=mm)));mm:=mm-1;
 }
 }
 
 }else{
-SF:=concat(SF,solve(Fo[k](x),x));
+SF:=concat(SF,solve(Fo[k](x),x));
 }
 
   si size(SF)>0 alors pour j de 0 jusque size(SF)-1 faire 
                           FF:=FF,simplify(SF[j]);
                           if(SF[j]>mini and SF[j]<maxi){F:=F,simplify(SF[j]);}
                       fpour;
-  fsi;
+  fsi;
 fpour;
 
 
@@ -2436,7 +2436,7 @@ Z:=sort([op(set[op(Z)])]);
 
 nz:=size(Z);
 
-if(nz==0){li:="";l0:="val(btex $"+latex(D[0])+"$ etex);val(btex $"+latex(D[1])+"$ etex);";
+if(nz==0){li:="";l0:="val(btex $"+latex(D[0])+"$ etex);val(btex $"+latex(D[1])+"$ etex);";
           for(p:=0;p<=n-1;p++){li:=li+lsic+latex(L[p](x))+"}$ etex);"+
 if(mini!=-infinity and L[p](mini)==0){"
                                 valBarre(btex 0 etex);"}else{"
@@ -2451,9 +2451,9 @@ if(L[p]((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}+if(maxi!=+infinity and L[p
 
 
 
-MetaLfc:=" 
-beginTableau("+nmr+")
-newLigneVariables(btex $ {x}$ etex);
+MetaLfc:=" 
+beginTableau("+nmr+")
+newLigneVariables(btex $ {x}$ etex);
    "+l0+li+
    lsic+nomf+"(x)}$ 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;"}+  lf+
@@ -2466,13 +2466,13 @@ endTableau;
 
 
 
-}else{
+}else{
 
 
 l0:="val(btex $"+latex(D[0])+"$ etex);";li:=" ";lr:=" "; 
-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; 
-l0:=l0+"val(btex $"+latex(D[1])+"$ etex);";
+l0:=l0+"val(btex $"+latex(D[1])+"$ etex);";
 
 
 for(p:=0;p<=n-1;p++){lp:="";                                     
@@ -2485,7 +2485,7 @@ for(p:=0;p<=n-1;p++){lp:="";
  
                 li:=li+lp+ if(simplify(L[p](Z[nz-1]))==0){"valBarre(btex 0 etex);"}else{"barre;"}+ 
                           if(L[p](Z[nz-1]+1.0)>0){"plus;"}else{"moins;
-    "}+if(maxi!=+infinity and L[p](maxi)==0){"valBarre(btex 0 etex);"}else{" "}
+    "}+if(maxi!=+infinity and L[p](maxi)==0){"valBarre(btex 0 etex);"}else{" "}
                               
     };  
 
@@ -2493,18 +2493,18 @@ for(p:=0;p<=n-1;p++){lp:="";
 pour t de 0 jusque nz-2 faire 
                            lr:=lr+if(product(L[s]((Z[t]+Z[t+1])*.5),s,0,n-1)>0){"plus;"}else{"moins;"}+
                                       if(member(Z[t+1],FF)==0){"valBarre(btex 0 etex);"}else{ "nonDefBarre;"}                   
-                         fpour
+                         fpour
 
 
 
 
 MetaLfc:="
-beginTableau("+nmr+")
-newLigneVariables(btex $ {x}$ etex);
+beginTableau("+nmr+")
+newLigneVariables(btex $ {x}$ etex);
    "+l0+
                      li
                      +
-   lsic+nomf+"(x)}$ etex);"+
+   lsic+nomf+"(x)}$ 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;"}+  
                          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;"}+
@@ -2544,17 +2544,17 @@ fclose(sortie);
 
 
 \begin{VerbatimOut}{XcasTabSigna.cxx}
-TSa(a,b,c,d,nmr):={
+TSa(a,b,c,d,nmr):={
 zA:=solve(a*x+b=0,x)[0];
 zB:=solve(c*x+d=0,x)[0];
 zmin:=min(zA,zB);
-zmax:=max(zA,zB);
-  Meta:= " 
+zmax:=max(zA,zB);
+  Meta:= " 
           beginTableau("+nmr+")
    newLigneVariables(btex $ {x}$ etex);
    val(btex $-\\infty$ etex);val(btex $"+latex(zmin)+"$ etex);
 val(btex $"+latex(zmax)+"$etex);
-val(btex $+\\infty$ etex); 
+val(btex $+\\infty$ etex); 
   "+lsic+if(a==1){"x+"}else{if(a==-1){"-x+"}else{a+"x+"}}+b+"}$ etex);"
         +   if(a>0){"moins;"}else{"plus;"}+
                                  if(zmin==zA){"valBarre(btex 0 etex);"}else{"barre;"}+
@@ -2566,8 +2566,8 @@ val(btex $+\\infty$ fsi}+
-                                 if(zmin==zB){"barre;"}else{"valBarre(btex 0 etex);"}+
+                                             else{si c>0 alors "moins;"; sinon "plus;"; fsi}+
+                                 if(zmin==zB){"barre;"}else{"valBarre(btex 0 etex);"}+
                                  if(c>0){"plus;"}else{"moins;"}  
      
    +lsic+"{("+if(a==1){"x+"}else{if(a==-1){"-x+"}else{a+"x+"}}+b+")("+if(c==1){"x+"}else{if(c==-1){"-x+"}else{c+"x+"}}+d+")}}$ etex);"
@@ -2582,7 +2582,7 @@ endTableau;
 
 
 
-sortie:=fopen("XCasmpfc.mp");
+sortie:=fopen("XCasmpfc.mp");
 fprint(sortie,Unquoted,Meta);
 fclose(sortie);
 
@@ -2644,7 +2644,7 @@ lf:=if(member(maxi,F)!=0){"nonDefBarre;"}else{if(maxi!=+infinity and f(maxi)==0)
                                 valBarre(btex 0 etex);"}else{"
                               "}};
 }
-else{pour j de 0 jusque size(S)-1 faire 
+else{pour j de 0 jusque size(S)-1 faire 
                            if(S[j]>mini and S[j]<maxi){Z:=Z,simplify(S[j])};
                       fpour;
 
@@ -2667,7 +2667,7 @@ lf:=if(maxi!=+infinity and f(maxi)==0){"
 
 }else{
 l0:="val(btex $"+latex(Z[0])+"$ etex);";li:=" ";
-pour m de 1 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex);
+pour m de 1 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex);
 ";
 fpour; 
 
@@ -2685,7 +2685,7 @@ if(f((Z[r+1]-1))>0){"plus;"}else{"moins;"}
                            }}else{" "}; 
 
 lf:=if(f(Z[nz-2]+0.1)>0){"plus;"}else{"moins;"}+if(maxi!=+infinity and f(maxi)==0){"valBarre(btex 0 etex);"}else{if(member(maxi,F)==0){"
-                              "}else{"nonDefBarre;"}
+                              "}else{"nonDefBarre;"}
                               };
 }};  
 
@@ -2709,7 +2709,7 @@ endTableau;
 
 sortie:=fopen("XCasmpfc.mp");
 fprint(sortie,Unquoted,MetaLfc);
-fclose(sortie);
+fclose(sortie);
  }:;
 
 
diff --git a/Master/texmf-dist/tex/latex/tablor/tablor-xetex.sty b/Master/texmf-dist/tex/latex/tablor/tablor-xetex.sty
index 58c3d1df703..074f4b1eac8 100644
--- a/Master/texmf-dist/tex/latex/tablor/tablor-xetex.sty
+++ b/Master/texmf-dist/tex/latex/tablor/tablor-xetex.sty
@@ -1,5 +1,5 @@
 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{tablor-xetex}[19/04/2009 v4.04-d  la machine a  creer des
+\ProvidesPackage{tablor-xetex}[14/05/2009 v4.04-g  la machine a  creer des
 tableaux de signes et variations compatible xetex]
 
 % \copyleft Connan le Barbare (aka Guillaume Connan) \copyright
@@ -346,10 +346,10 @@ pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex);
        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(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1.0){"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(evalf(sign(fp(Z[0]+10^(-5))))==1.0){"plus;"}else{"moins;"}}else{"nonDefBarre;"+
+                                                         if(evalf(sign(fp((Z[0]+10^(-5)))))==1.0){"plus;"}else{"moins;"} }}
  
 if(nz>2){ for(r:=1; r<=nz-2;r++){      ksp:=evalf(fp(Z[r]+0.1))>0;                     
                                                lsp:=lsp+if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+
@@ -535,10 +535,10 @@ pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex);
        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],FP)==0){
+     if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1.0){"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;"+
-                                                         if(sign(fp((Z[0]+10^(-5))))==1){"plus;"}else{"moins;"} }}
+                                                    if(evalf(sign(fp(Z[0]+10^(-5))))==1.0){"plus;"}else{"moins;"}}else{"nonDefBarre;"+
+                                                         if(evalf(sign(fp((Z[0]+10^(-5)))))==1.0){"plus;"}else{"moins;"} }}
  
 if(nz>2){ for(r:=1; r<=nz-2;r++){      ksp:=evalf(fp(Z[r]+0.1))>0;                     
                                                lsp:=lsp+if(member(Z[r],FP)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+
@@ -740,10 +740,10 @@ pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex);
        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){if((member(Z[0],F)==0) and (fp(Z[0])!=undef)){"debutNonDef;"}else{"debutNonDefStrict;"}}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(member(Z[0],IMIN)!=0){if((member(Z[0],F)==0) and (fp(Z[0])!=undef)){"debutNonDef;"}else{"debutNonDefStrict;"}}else{if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1.0){"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(evalf(sign(fp(Z[0]+10^(-5))))==1.0){"plus;"}else{"moins;"}}else{"nonDefBarre;"+
+                                                         if(evalf(sign(fp((Z[0]+10^(-5)))))==1.0){"plus;"}else{"moins;"} }}}
 
 
 
@@ -915,6 +915,7 @@ nz:=size(z);
 
 
 
+
 S:=op(fsolve(fp(x),x));
 if(L==[-infinity,+infinity]){j:=[seq(-100+k,k=0..200)]minus F;
   for k in j do for(m:=-5;m<=5;m++){S:=S,fsolve(fp(x),x,k+m*0.1,newton_solver)};end_for}
@@ -930,6 +931,9 @@ else{ j:=[seq(k,k=floor(z[0])..floor(z[nz-1]))] minus F;
 
 
 
+
+
+
 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]))}};
@@ -966,10 +970,10 @@ pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex);
        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(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1.0){"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(evalf(sign(fp(Z[0]+10^(-5))))==1.0){"plus;"}else{"moins;"}}else{"nonDefBarre;"+
+                                                         if(evalf(sign(fp((Z[0]+10^(-5)))))==1.0){"plus;"}else{"moins;"} }}
  
 if(nz>2){ for(r:=1; r<=nz-2;r++){      ksp:=evalf(fp(Z[r]+0.01))>0;                     
                                                lsp:=lsp+if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+
@@ -1171,10 +1175,13 @@ TestS:=(evalf(sign(LL[0]-ao))==evalf(sign(LL[1]-ao))) or (evalf(sign(LL[0]-ao))=
        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(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(Z[0]==-infinity){if(evalf(sign(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1.0){"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{" "}; 
+                                                    if(evalf(sign(fp((Z[0]+10^(-3)))))==1.0){"plus;"}else{"moins;"}}else{"nonDefBarre;"+
+                                                         if(evalf(sign(fp(10^(-3)+Z[0])))==1.0){"plus;"}else{"moins;"} }}+if(TestS==0){"valBarre(btex$
+                                                       $ etex);"+ 
+if(evalf(sign(fp(10^(-3)+ifte(Z[0]==-infinity,ifte(Z[1]==+infinity,ifte(member(0,F)==0,0,0.01),ifte(member(Z[1]-1,F)==0,Z[1]-1,Z[1]-1.1)),Z[0]))))==1.0){"plus;"}else{"moins;"}}else{" "}; 
+
 
 
 
@@ -1445,7 +1452,9 @@ 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{" "}; 
+                                                         if(sign(fp(10^(-3)+Z[0]))==1){"plus;"}else{"moins;"} }}+if(TestS==0){"valBarre(btex$
+                                                       $ etex);"+
+if(evalf(sign(fp(10^(-3)+ifte(Z[0]==-infinity,ifte(Z[1]==+infinity,ifte(member(0,F)==0,0,0.01),ifte(member(Z[1]-1,F)==0,Z[1]-1,Z[1]-1.1)),Z[0]))))==1.0){"plus;"}else{"moins;"}}else{" "}; 
 
 
 
@@ -1629,6 +1638,8 @@ nz:=size(z);
 
 
 
+
+
 S:=op(fsolve(fp(x),x));
 if(L==[-infinity,+infinity]){j:=[seq(-100+k,k=0..200)]minus F;
   for k in j do for(m:=-5;m<=5;m++){S:=S,fsolve(fp(x),x,k+m*0.1,newton_solver)};end_for}
@@ -1647,6 +1658,7 @@ else{ j:=[seq(k,k=floor(z[0])..floor(z[nz-1]))] minus F;
 
 
 
+
 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]))}};
@@ -1721,8 +1733,10 @@ 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{" "}; 
+                                                         if(sign(fp(10^(-3)+Z[0]))==1){"plus;"}else{"moins;"} }}+if(TestS==0){"valBarre(btex$
+                                                       $ etex);"+
 
+if(evalf(sign(fp(10^(-3)+ifte(Z[0]==-infinity,ifte(Z[1]==+infinity,ifte(member(0,F)==0,0,0.01),ifte(member(Z[1]-1,F)==0,Z[1]-1,Z[1]-1.1)),Z[0]))))==1.0){"plus;"}else{"moins;"}}else{" "}; 
 
 
 
@@ -2191,7 +2205,7 @@ Z:=sort(Z);
 nz:=size(Z);
 
 
- Z:=sort([op(set[op(Z)])]);
+ Z:=sort([op(set[(Z)])]);
 
 
 nz:=size(Z);
@@ -2369,16 +2383,9 @@ fpour;
 
 
 
-Z:=sort(Z); // on classe les zeros dans l'ordre croissant 
-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 zeros en double
-     fsi;
-fpour;}
-
-
 Z:=[Z,F];
 
+
 Z:=sort([op(set[op(Z)])]);
 
 nz:=size(Z);
@@ -2403,12 +2410,8 @@ beginTableau("+nmr+")
 newLigneVariables(btex $ {x}$ etex);
    "+l0+li+
    lsic+nomf+"(x)}$ 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;"}+  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;"}+"
+              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;"}+  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;
 
 "
@@ -2428,21 +2431,15 @@ l0:=l0+"val(btex $"+latex(D[1])+"$ etex);";
 
 for(p:=0;p<=n-1;p++){lp:="";                                     
      li:=li+lsic+latex(L[p](x))+"}$ etex);"+
-           if(mini!=-infinity and L[p](mini)==0){"
-                                valBarre(btex 0 etex);"}else{"
-                              "}+ 
+           if(mini!=-infinity and L[p](mini)==0){" valBarre(btex 0 etex);"}else{" "}+ 
            if(L[p](Z[0]-0.01)>0){"plus;"}else{"moins;"};
                                
-                           for(r:=0; r<=nz-2;r++){  
-                             lp:=lp+if(simplify(L[p](Z[r]))==0){"
-                                valBarre(btex 0 etex);"}else{"barre;
-                              "}+ 
+     for(r:=0; r<=nz-2;r++){lp:=lp+if(simplify(L[p](Z[r]))==0){" valBarre(btex 0 etex);"}else{"barre;"}+ 
                              if(L[p]((Z[r]+Z[r+1])*.5)>0){"plus;"}else{"moins;"}};
  
                 li:=li+lp+ if(simplify(L[p](Z[nz-1]))==0){"valBarre(btex 0 etex);"}else{"barre;"}+ 
                           if(L[p](Z[nz-1]+1.0)>0){"plus;"}else{"moins;
-    "}+if(maxi!=+infinity and L[p](maxi)==0){"
-                                valBarre(btex 0 etex);"}else{" "}
+    "}+if(maxi!=+infinity and L[p](maxi)==0){"valBarre(btex 0 etex);"}else{" "}
                               
     };  
 
@@ -2462,15 +2459,12 @@ newLigneVariables(btex $ {x}$ etex);
                      li
                      +
    lsic+nomf+"(x)}$ 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;"}+  
+               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;"}+  
                          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;"}+"
+                         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;
 
 "
@@ -2681,6 +2675,8 @@ fclose(sortie);
 
 
 
+
+
 %%$
 %%
 %% traitement des fichiers produits par giac/xcas
diff --git a/Master/texmf-dist/tex/latex/tablor/tablor.sty b/Master/texmf-dist/tex/latex/tablor/tablor.sty
index 33e97a36a1b..1ebaddb78d2 100644
--- a/Master/texmf-dist/tex/latex/tablor/tablor.sty
+++ b/Master/texmf-dist/tex/latex/tablor/tablor.sty
@@ -1,5 +1,5 @@
 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{tablor}[19/04/2009 v4.04-d la machine a creer des tableaux de signes et variations]
+\ProvidesPackage{tablor}[14/05/2009 v4.04-g 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
@@ -311,10 +311,10 @@ pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex);
        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(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1.0){"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(evalf(sign(fp(Z[0]+10^(-5))))==1.0){"plus;"}else{"moins;"}}else{"nonDefBarre;"+
+                                                         if(evalf(sign(fp((Z[0]+10^(-5)))))==1.0){"plus;"}else{"moins;"} }}
  
 if(nz>2){ for(r:=1; r<=nz-2;r++){      ksp:=evalf(fp(Z[r]+0.1))>0;                     
                                                lsp:=lsp+if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+
@@ -500,10 +500,10 @@ pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex);
        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],FP)==0){
+     if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1.0){"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;"+
-                                                         if(sign(fp((Z[0]+10^(-5))))==1){"plus;"}else{"moins;"} }}
+                                                    if(evalf(sign(fp(Z[0]+10^(-5))))==1.0){"plus;"}else{"moins;"}}else{"nonDefBarre;"+
+                                                         if(evalf(sign(fp((Z[0]+10^(-5)))))==1.0){"plus;"}else{"moins;"} }}
  
 if(nz>2){ for(r:=1; r<=nz-2;r++){      ksp:=evalf(fp(Z[r]+0.1))>0;                     
                                                lsp:=lsp+if(member(Z[r],FP)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+
@@ -705,10 +705,10 @@ pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex);
        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){if((member(Z[0],F)==0) and (fp(Z[0])!=undef)){"debutNonDef;"}else{"debutNonDefStrict;"}}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(member(Z[0],IMIN)!=0){if((member(Z[0],F)==0) and (fp(Z[0])!=undef)){"debutNonDef;"}else{"debutNonDefStrict;"}}else{if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1.0){"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(evalf(sign(fp(Z[0]+10^(-5))))==1.0){"plus;"}else{"moins;"}}else{"nonDefBarre;"+
+                                                         if(evalf(sign(fp((Z[0]+10^(-5)))))==1.0){"plus;"}else{"moins;"} }}}
 
 
 
@@ -935,10 +935,10 @@ pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex);
        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(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1.0){"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(evalf(sign(fp(Z[0]+10^(-5))))==1.0){"plus;"}else{"moins;"}}else{"nonDefBarre;"+
+                                                         if(evalf(sign(fp((Z[0]+10^(-5)))))==1.0){"plus;"}else{"moins;"} }}
  
 if(nz>2){ for(r:=1; r<=nz-2;r++){      ksp:=evalf(fp(Z[r]+0.01))>0;                     
                                                lsp:=lsp+if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+
@@ -1140,10 +1140,13 @@ TestS:=(evalf(sign(LL[0]-ao))==evalf(sign(LL[1]-ao))) or (evalf(sign(LL[0]-ao))=
        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(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(Z[0]==-infinity){if(evalf(sign(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1.0){"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{" "}; 
+                                                    if(evalf(sign(fp((Z[0]+10^(-3)))))==1.0){"plus;"}else{"moins;"}}else{"nonDefBarre;"+
+                                                         if(evalf(sign(fp(10^(-3)+Z[0])))==1.0){"plus;"}else{"moins;"} }}+if(TestS==0){"valBarre(btex$
+                                                       $ etex);"+ 
+if(evalf(sign(fp(10^(-3)+ifte(Z[0]==-infinity,ifte(Z[1]==+infinity,ifte(member(0,F)==0,0,0.01),ifte(member(Z[1]-1,F)==0,Z[1]-1,Z[1]-1.1)),Z[0]))))==1.0){"plus;"}else{"moins;"}}else{" "}; 
+
 
 
 
@@ -1414,7 +1417,9 @@ 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{" "}; 
+                                                         if(sign(fp(10^(-3)+Z[0]))==1){"plus;"}else{"moins;"} }}+if(TestS==0){"valBarre(btex$
+                                                       $ etex);"+
+if(evalf(sign(fp(10^(-3)+ifte(Z[0]==-infinity,ifte(Z[1]==+infinity,ifte(member(0,F)==0,0,0.01),ifte(member(Z[1]-1,F)==0,Z[1]-1,Z[1]-1.1)),Z[0]))))==1.0){"plus;"}else{"moins;"}}else{" "}; 
 
 
 
@@ -1693,8 +1698,10 @@ 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{" "}; 
+                                                         if(sign(fp(10^(-3)+Z[0]))==1){"plus;"}else{"moins;"} }}+if(TestS==0){"valBarre(btex$
+                                                       $ etex);"+
 
+if(evalf(sign(fp(10^(-3)+ifte(Z[0]==-infinity,ifte(Z[1]==+infinity,ifte(member(0,F)==0,0,0.01),ifte(member(Z[1]-1,F)==0,Z[1]-1,Z[1]-1.1)),Z[0]))))==1.0){"plus;"}else{"moins;"}}else{" "}; 
 
 
 
@@ -2163,7 +2170,7 @@ Z:=sort(Z);
 nz:=size(Z);
 
 
- Z:=sort([op(set[op(Z)])]);
+ Z:=sort([op(set[(Z)])]);
 
 
 nz:=size(Z);
-- 
cgit v1.2.3