From 24078264b6352d3a11d7d4e8a8e3793528b76339 Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Mon, 28 Jan 2008 19:35:44 +0000
Subject: tablor update (25jan08)

git-svn-id: svn://tug.org/texlive/trunk@6436 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/tex/latex/tablor/tablor.sty | 460 +++++++++++++++++++++-----
 1 file changed, 374 insertions(+), 86 deletions(-)

(limited to 'Master/texmf-dist/tex/latex/tablor/tablor.sty')

diff --git a/Master/texmf-dist/tex/latex/tablor/tablor.sty b/Master/texmf-dist/tex/latex/tablor/tablor.sty
index 914fa524efa..19fe60c171b 100644
--- a/Master/texmf-dist/tex/latex/tablor/tablor.sty
+++ b/Master/texmf-dist/tex/latex/tablor/tablor.sty
@@ -1,7 +1,7 @@
 
 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
 \ProvidesPackage{tablor}
-              [21/01/2008 v1.3
+              [23/01/2008 v1.4
  la machine � cr�er des tableaux de signes et variations]
 
 
@@ -14,12 +14,12 @@
 % %%%%%% Pour des tableaux de plus de 2 facteurs
 %
 % \begin{TS}
-% TS([-2*x+3,x^2-1,x^2+1,x-1,x^2-2],\tv);
+% TS([-2*x+3,x^2-1,x^2+1,x-1,x^2-2],[a,b],\tv);
 % \end{TS}
 %
 % pour les tableaux de signes avec quotient
 %\begin{TSq}
-%TSq("Q",[-2*x+3,-4*x+5],[x^2-16,x-2],\tv)
+%TSq("Q",[-2*x+3,-4*x+5],[x^2-16,x-2],[a,b],\tv)
 %%\end{TSq}
 % un tableau de variation :
 %
@@ -36,8 +36,8 @@
 
 
 \newcommand{\nettoyer}{
-\immediate\write18{rm XCasmp.mp* XCasmp.log XCasmp?.mp* XCasmp?.log XCasmpTV.mp* XCasmpTV.log *.out XCasmpTVI.mp* XCasmpTVI.log
-  *.in *.meta *mpx* *~}}
+\immediate\write18{rm XCasmp.mp* XCasmp.log XCasmp?.mp* XCasmp?.log XCasmpTV.mp* XCasmpTV.log *.user XCasmpTVI.mp* XCasmpTVI.log
+  *.giac *.cxx *mpx* *~}}
 
 \newcommand{\bouger}[1]{
 \immediate\write18{cp XCas* #1}}
@@ -61,7 +61,7 @@
 \makeatother
 
 
-\begin{VerbatimOut}{XcasTV.meta}
+\begin{VerbatimOut}{XcasTV.cxx}
 TV(L,F,nom,nomv,f,ftt,nmr):={
 nl:=size(L);
 f:=unapply(f,x);
@@ -140,7 +140,17 @@ intro:="input tableauVariation;
 "
   
 
-MetaL:= if(ftt==0){if(nz>2){intro+"beginTableau("+nmr+")"+
+MetaL:=if(ftt==2){if(nz>2){intro+"beginTableau("+nmr+")"+
+        l0+lsi+lsp+lsf+"
+endTableau;
+end";}else{
+intro+"beginTableau("+nmr+")"+
+        l0+
+lsi+lsf+"
+endTableau;
+end";
+}
+}else{ if(ftt==0){if(nz>2){intro+"beginTableau("+nmr+")"+
         l0+
 li+
 lp+
@@ -170,7 +180,7 @@ lf
 +"
 endTableau;
 end";}
-}
+}}
 
 return(MetaL);
  }:;
@@ -179,7 +189,7 @@ return(MetaL);
 
 \end{VerbatimOut}
 
-\begin{VerbatimOut}{XcasTVI.meta}
+\begin{VerbatimOut}{XcasTVI.cxx}
 
 
 TVI(L,F,nom,nomv,f,ftt,ao,nmr):={
@@ -327,7 +337,18 @@ verbatimtex
 ";
   
 
-MetaL:= if(ftt==0){if(nz>2){intro+"beginTableau("+nmr+")"+
+MetaL:= if(ftt==2){if(nz>2){intro+"beginTableau("+nmr+")"+
+        l0+lsi+lsp+lsf+"
+endTableau;
+end";}else{
+intro+"beginTableau("+nmr+")"+
+        l0+
+lsi+lsf+"
+endTableau;
+end";
+}
+}else{
+if(ftt==0){if(nz>2){intro+"beginTableau("+nmr+")"+
         l0+
 li+
 lp+
@@ -357,7 +378,7 @@ lf
 +"
 endTableau;
 end";}
-};
+}};
 
 return(MetaL);
  }:;
@@ -375,42 +396,98 @@ return(MetaL);
 
 
 
-\begin{VerbatimOut}{XcasTabSignL.meta}
-TS(L,nmr):={
+\begin{VerbatimOut}{XcasTabSignL.cxx}
+
+
+TS(L,D,nmr):={
 L:=apply(f->unapply(f,x),L)
 n:=size(L);
 Z:=NULL;
 
+mini:=D[0]; maxi:=D[1];
 
 pour k de 0 jusque n-1 faire 
   S:=resoudre(L[k](x),x);
   si size(S)>0 alors  pour j de 0 jusque size(S)-1 faire 
-                          Z:=Z,simplifier(S[j]);
+                          if(S[j]>mini and S[j]<maxi){Z:=Z,simplifier(S[j]);}
                       fpour;
   fsi;
 fpour;
 Z:=sort(Z);
 nz:=size(Z);
-pour u de 1 jusque nz-2 faire 
+if(nz>2){pour u de 1 jusque nz-2 faire 
      si Z[u]==Z[u+1] alors Z:=Z[0..u-1],Z[u+1..nz-1];nz:=nz-1;
      fsi;
-fpour;
+fpour;};
 nz:=size(Z);
-l0:=" ";li:=" ";lr:=" "; 
+
+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+"
+newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(L[p](x))+"}}$ etex);"+
+if(mini!=-infinity and L[p](mini)==0){"
+                                valBarre(btex 0 etex);"}else{"
+                              "}+ 
+if(L[p]((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}+if(maxi!=+infinity and L[p](maxi)==0){"
+                                valBarre(btex 0 etex);"}else{"
+                              "}
+
+}
+           lf:=if(product(L[s]((mini+maxi)*.5),s,0,n-1)>0){"plus;"}else{"moins;"};
+
+MetaL:=" input tableauVariation;
+           verbatimtex
+%&latex
+ \\documentclass{article}
+ \\usepackage[upright]{fourier}
+ \\usepackage{amsmath}
+ \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}}
+ \\begin{document}
+ etex
+          beginTableau("+nmr+")
+newLigneVariables(btex $\\Mathbold{x}$ etex);
+   "+l0+li+
+    "
+ newLigneSignes(btex $\\hbox{\\bf Signe du }\\atop{{\\bf produit}}$ etex);"+
+               if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){"
+                                valBarre(btex 0 etex);"}else{"
+                              "}+  lf+
+                               if(maxi!=+infinity and product(L[s](maxi),s,0,n-1)==0){"
+                                valBarre(btex 0 etex);"}else{"
+                              "}+"
+endTableau;
+end"
+;
+}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);
 ";fpour; 
+l0:=l0+"val(btex $"+latex(D[1])+"$ etex);";
 
 
-
-for(p:=0;p<=n-1;p++){lp:=" ";                                     
-     li:=li+"newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(L[p](x))+"}}$ etex);"+
-           if(L[p](Z[0]-1.0)>0){"plus;"}else{"moins;"}+                               
+for(p:=0;p<=n-1;p++){lp:="";                                     
+     li:=li+"
+newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(L[p](x))+"}}$ etex);"+
+           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(simplifier(L[p](Z[r]))==0){"valBarre(btex 0 etex);"}else{"barre;"}+ 
-                             if(L[p]((Z[r]+Z[r+1])*.5)>0){"plus;"}else{"moins;"}}+ 
-                           if(simplifier(L[p](Z[nz-1]))==0){"valBarre(btex 0 etex);"}else{"barre;"}+ 
+                             lp:=lp+if(simplifier(L[p](Z[r]))==0){"
+                                valBarre(btex 0 etex);"}else{"barre;
+                              "}+ 
+                             if(L[p]((Z[r]+Z[r+1])*.5)>0){"plus;"}else{"moins;"}};
+ 
+                li:=li+lp+ if(simplifier(L[p](Z[nz-1]))==0){"valBarre(btex 0 etex);"}else{"barre;"}+ 
                           if(L[p](Z[nz-1]+1.0)>0){"plus;"}else{"moins;
-    "}
+    "}+if(maxi!=+infinity and L[p](maxi)==0){"
+                                valBarre(btex 0 etex);"}else{"
+                              "}
     };  
 
 
@@ -429,18 +506,26 @@ MetaL:=" input tableauVariation;
  etex
           beginTableau("+nmr+")
 newLigneVariables(btex $\\Mathbold{x}$ etex);
-   val(btex $-\\infty$ etex);"+l0+"val(btex $+\\infty$ etex);"+
+   "+l0+
                      li
                      +
-    " newLigneSignes(btex $\\hbox{\\bf Signe du }\\atop{{\\bf produit}}$ etex);"+ 
-                         if(product(L[s](Z[0]-1.0),s,0,n-1)>0){"plus;"}else{"moins;"}+"valBarre(btex 0 etex);"+
+    "
+ newLigneSignes(btex $\\hbox{\\bf Signe du }\\atop{{\\bf produit}}$ etex);"+
+               if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){"
+                                valBarre(btex 0 etex);"}else{"
+                              "}+  
+                         if(product(L[s](Z[0]-0.01),s,0,n-1)>0){"plus;"}else{"moins;"}+"valBarre(btex 0 etex);"+
                          lr+
-                         if(product(L[s](Z[nz-1]+1.0),s,0,n-1)>0){"plus;"}else{"moins;"}+"
+                         if(product(L[s](Z[nz-1]+0.01),s,0,n-1)>0){"plus;"}else{"moins;"}+
+                               if(maxi!=+infinity and product(L[s](maxi),s,0,n-1)==0){"
+                                valBarre(btex 0 etex);"}else{"
+                              "}+"
 endTableau;
 end"
-;
+;}
 return(MetaL);
  }:;
+
 \end{VerbatimOut}
 
 
@@ -451,22 +536,22 @@ return(MetaL);
 
 
 
-\begin{VerbatimOut}{XcasTabSignQ.meta}
-TSq(nomf,L,Fo,nmr):={
+\begin{VerbatimOut}{XcasTabSignQ.cxx}
+TSq(nomf,L,Fo,D,nmr):={
 L:=apply(f->unapply(f,x),L);
 Fo:=apply(f->unapply(f,x),Fo);
 L:=concat(L,Fo);
 n:=size(L);
 Z:=NULL;
 m:=size(Fo);
-F:=NULL;
-
+F:=NULL;FF:=NULL;
+mini:=D[0]; maxi:=D[1];
 
 
 pour k de 0 jusque n-1 faire 
   S:=resoudre(L[k](x),x);
   si size(S)>0 alors   pour j de 0 jusque size(S)-1 faire 
-                          Z:=Z,simplifier(S[j]);
+                          if(S[j]>mini and S[j]<maxi){Z:=Z,simplifier(S[j]);}
                       fpour;
   fsi;
 fpour;
@@ -475,7 +560,8 @@ fpour;
 pour k de 0 jusque m-1 faire 
   SF:=resoudre(Fo[k](x),x);
   si size(SF)>0 alors pour j de 0 jusque size(SF)-1 faire 
-                          F:=F,simplifier(SF[j]);
+                          FF:=FF,simplifier(SF[j]);
+                          if(SF[j]>mini and SF[j]<maxi){F:=F,simplifier(SF[j]);}
                       fpour;
   fsi;
 fpour;
@@ -484,37 +570,95 @@ fpour;
 
 Z:=sort(Z); // on classe les z�ros dans l'ordre croissant 
 nz:=size(Z);
-pour u de 1 jusque nz-2 faire 
+if(nz>2){pour u de 1 jusque nz-2 faire 
      si Z[u]==Z[u+1] alors Z:=Z[0..u-1],Z[u+1..nz-1];nz:=nz-1; // pour les z�ros en double
      fsi;
-fpour;
+fpour;}
+
+
+Z:=sort(Z);
 nz:=size(Z);
-l0:=" ";li:=" ";lr:=" "; 
+if(nz>2){pour u de 1 jusque nz-2 faire 
+     si Z[u]==Z[u+1] alors Z:=Z[0..u-1],Z[u+1..nz-1];nz:=nz-1;
+     fsi;
+fpour;};
+nz:=size(Z);
+
+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+"
+newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(L[p](x))+"}}$ etex);"+
+if(mini!=-infinity and L[p](mini)==0){"
+                                valBarre(btex 0 etex);"}else{"
+                              "}+ 
+if(L[p]((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}+if(maxi!=+infinity and L[p](maxi)==0){"
+                                valBarre(btex 0 etex);"}else{"
+                              "}
+
+}
+           lf:=if(product(L[s]((mini+maxi)*.5),s,0,n-1)>0){"plus;"}else{"moins;"};
+
+MetaL:=" input tableauVariation;
+           verbatimtex
+%&latex
+ \\documentclass{article}
+ \\usepackage[upright]{fourier}
+ \\usepackage{amsmath}
+ \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}}
+ \\begin{document}
+ etex
+
+beginTableau("+nmr+")
+newLigneVariables(btex $\\Mathbold{x}$ etex);
+   "+l0+li+
+    "
+ newLigneSignes(btex $\\hbox{\\bf Signe }\\atop{{\\bf  de "+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;"}+"
+endTableau;
+end"
+;
+}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);
 ";fpour; 
+l0:=l0+"val(btex $"+latex(D[1])+"$ etex);";
 
 
-
-for(p:=0;p<=n-1;p++){lp:=" ";                                     
+for(p:=0;p<=n-1;p++){lp:="";                                     
      li:=li+"
 newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(L[p](x))+"}}$ etex);"+
-           if(L[p](Z[0]-1.0)>0){"plus;"}else{"moins;"}+                               
+           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(simplifier(L[p](Z[r]))==0){"
-                              valBarre(btex 0 etex);"}else{"barre;"}+ 
-                             if(L[p]((Z[r]+Z[r+1])*.5)>0){"plus;"}else{"moins;"}}+ 
-                           if(simplifier(L[p](Z[nz-1]))==0){"valBarre(btex 0 etex);"}else{"barre;"}+ 
+                                valBarre(btex 0 etex);"}else{"barre;
+                              "}+ 
+                             if(L[p]((Z[r]+Z[r+1])*.5)>0){"plus;"}else{"moins;"}};
+ 
+                li:=li+lp+ if(simplifier(L[p](Z[nz-1]))==0){"valBarre(btex 0 etex);"}else{"barre;"}+ 
                           if(L[p](Z[nz-1]+1.0)>0){"plus;"}else{"moins;
-                                                                    "}
+    "}+if(maxi!=+infinity and L[p](maxi)==0){"
+                                valBarre(btex 0 etex);"}else{" "}
+                              
     };  
 
 
 pour t de 0 jusque nz-2 faire 
-                           lr:=lr+if(product(L[s]((Z[t]+Z[t+1])*.5),s,0,n-1)>0){"plus;"}else{"moins;"}+if(member(Z[t+1],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}                    
+                           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
 
 MetaL:=" input tableauVariation;
-           verbatimtex
+verbatimtex
 %&latex
  \\documentclass{article}
  \\usepackage[upright]{fourier}
@@ -524,23 +668,29 @@ MetaL:=" input tableauVariation;
  etex
           beginTableau("+nmr+")
 newLigneVariables(btex $\\Mathbold{x}$ etex);
-   val(btex $-\\infty$ etex);"+l0+"val(btex $+\\infty$ etex);"+
+   "+l0+
                      li
                      +
-    " newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\bf "+nomf+"(x) }$ etex);"+ 
-                         if(product(L[s](Z[0]-1.0),s,0,n-1)>0){"plus;"}else{"moins;"}+if(member(Z[0],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+
-                         lr+                          
-                         if(product(L[s](Z[nz-1]+1.0),s,0,n-1)>0){"plus;"}else{"moins;"}+"
+    "
+ newLigneSignes(btex $\\hbox{\\bf Signe }\\atop{{\\bf de"+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;"}+
+                         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;"}+"
 endTableau;
 end"
-;
+;}
 return(MetaL);
  }:;
 
-
 \end{VerbatimOut}
 
-\begin{VerbatimOut}{XcasTabSign.meta}
+\begin{VerbatimOut}{XcasTabSign.cxx}
 TSa(a,b,c,d,nmr):={
 zA:=resoudre(a*x+b=0,x)[0];
 zB:=resoudre(c*x+d=0,x)[0];
@@ -593,12 +743,122 @@ return(Meta);
 
 
 
-\begin{VerbatimOut}{XCas.in}
+
+
+
+
+
+
+
+
+
+
+
+\begin{VerbatimOut}{XcasTSc.cxx}
+TSc(g,D,nmr):={
+f:=unapply(g,x);
+Z:=NULL;
+mini:=D[0]; maxi:=D[1];lm:=" ";
+S:=resoudre(f(x),x);
+if(size(S)==0){
+li:=if(f(0)>0){"plus;"}else{"moins;"};
+lm:=" ";lf:=" ";
+}
+else{pour j de 0 jusque size(S)-1 faire 
+                           if(S[j]>mini and S[j]<maxi){Z:=Z,simplifier(S[j])};
+                      fpour;
+
+
+Z:=sort(Z);
+nz:=size(Z);
+if(nz>2){pour u de 1 jusque nz-2 faire 
+     si Z[u]==Z[u+1] alors Z:=Z[0..u-1],Z[u+1..nz-1];nz:=nz-1;
+     fsi;
+fpour;}
+nz:=size(Z);
+l0:=" ";li:=" ";lr:=" "; 
+if(nz==0){l0:="val(btex $"+latex(D[0])+"$ etex);val(btex $"+latex(D[1])+"$ etex);";
+li:=if(mini!=-infinity and f(mini)==0){"
+                                valBarre(btex 0 etex);"}else{"
+                              "}+ 
+if(f((mini+maxi)*0.5>0)){"plus;"}else{"moins;"};
+lf:=if(maxi!=+infinity and f(maxi)==0){"
+                                valBarre(btex 0 etex);"}else{"
+                              "};
+
+}else{
+l0:="val(btex $"+latex(D[0])+"$ etex);";li:=" ";
+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);";
+                                     
+li:= if(mini!=-infinity and f(mini)==0){"
+                                valBarre(btex 0 etex);"}else{"
+                              "}+ 
+if(f(Z[0]-0.01)>0){"plus;"}else{"moins;"}+if(simplifier(f(Z[0]))==0){"valBarre(btex 0 etex);"}else{"barre;"};                               
+
+lm:=if(nz>=2){for(r:=0; r<=nz-2;r++){if(f((Z[r]+Z[r+1])*.5)>0){"plus;"}else{"moins;"}+
+                                      if(simplifier(f(Z[r+1]))==0){"valBarre(btex 0 etex);"}else{"barre;"} 
+                           }}else{" "}; 
+
+lf:=if(f(Z[nz-1]+1.0)>0){"plus;"}else{"moins;"}+if(maxi!=+infinity and f(maxi)==0){"valBarre(btex 0 etex);"}else{"
+                              "};
+}};  
+
+
+MetaL:=" input tableauVariation;
+           verbatimtex
+%&latex
+ \\documentclass{article}
+ \\usepackage[upright]{fourier}
+ \\usepackage{amsmath}
+ \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}}
+ \\begin{document}
+ etex
+beginTableau("+nmr+")
+newLigneVariables(btex $\\Mathbold{x}$ etex);
+   "+l0+"
+newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(f(x))+"}}$ etex);"+
+                     li+lm+lf
+                     +"
+endTableau;
+end"
+;
+return(MetaL);
+ }:;
+\end{VerbatimOut}
+
+
+
+
+
+
+
+
+
+%%% les "giac"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+\begin{VerbatimOut}{XCas.giac}
 maple_mode(0);
-read("XcasTabSign.meta");
+read("XcasTabSign.cxx");
 Sortie:=fopen("XCasmp.mp");
-vect.xcas.out := read("XCas.out");
-vxo := vect.xcas.out;
+vect.xcas.user := read("XCas.user");
+vxo := vect.xcas.user;
 dim.vxo := dim(vxo);
 nbr.line.vxo := dim.vxo;
 Resultat:=cat(" "); 
@@ -609,9 +869,9 @@ fclose(Sortie);
 \end{VerbatimOut}
 
 \newenvironment{TSa}
-{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\��]{XCas.out}}
+{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\��]{XCas.user}}
 {\end{VerbatimOut}
-           \executGiacmp{XCas.in}
+           \executGiacmp{XCas.giac}
 
    \immediate\write18{mpost  XCasmp}
 
@@ -622,12 +882,12 @@ fclose(Sortie);
 }
 
 
-\begin{VerbatimOut}{XCasQ.in}
+\begin{VerbatimOut}{XCasQ.giac}
 maple_mode(0);
-read("XcasTabSignQ.meta");
+read("XcasTabSignQ.cxx");
 Sortie:=fopen("XCasmpQ.mp");
-vect.xcas.out := read("XCasQ.out");
-vxo := vect.xcas.out;
+vect.xcas.user := read("XCasQ.user");
+vxo := vect.xcas.user;
 dim.vxo := dim(vxo);
 nbr.line.vxo := dim.vxo;
 Resultat:=cat(" "); 
@@ -638,9 +898,9 @@ fclose(Sortie);
 \end{VerbatimOut}
 
 \newenvironment{TSq}
-{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\��]{XCasQ.out}}
+{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\��]{XCasQ.user}}
 {\end{VerbatimOut}
-           \executGiacmp{XCasQ.in}
+           \executGiacmp{XCasQ.giac}
 
    \immediate\write18{mpost  XCasmpQ}
 
@@ -652,12 +912,12 @@ fclose(Sortie);
 
 
 
-\begin{VerbatimOut}{XCasL.in}
+\begin{VerbatimOut}{XCasL.giac}
 maple_mode(0);
-read("XcasTabSignL.meta");
+read("XcasTabSignL.cxx");
 Sortie:=fopen("XCasmpL.mp");
-vect.xcas.out := read("XCasL.out");
-vxo := vect.xcas.out;
+vect.xcas.user := read("XCasL.user");
+vxo := vect.xcas.user;
 dim.vxo := dim(vxo);
 nbr.line.vxo := dim.vxo;
 Resultat:=cat(" "); 
@@ -668,9 +928,9 @@ fclose(Sortie);
 \end{VerbatimOut}
 
 \newenvironment{TS}
-{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\��]{XCasL.out}}
+{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\��]{XCasL.user}}
 {\end{VerbatimOut}
-           \executGiacmp{XCasL.in}
+           \executGiacmp{XCasL.giac}
 
    \immediate\write18{mpost  XCasmpL}
 
@@ -680,17 +940,45 @@ fclose(Sortie);
 \stepcounter{TVn}
 }
 
+\begin{VerbatimOut}{XCasTSc.giac}
+maple_mode(0);
+read("XcasTSc.cxx");
+Sortie:=fopen("XCasmpTSc.mp");
+vect.xcas.user := read("XCasTSc.user");
+vxo := vect.xcas.user;
+dim.vxo := dim(vxo);
+nbr.line.vxo := dim.vxo;
+Resultat:=cat(" "); 
+rslt := vxo[0]; RslT:=cat(rslt);
+Resultat:=cat(Resultat,RslT);
+fprint(Sortie,Unquoted,Resultat);
+fclose(Sortie);
+\end{VerbatimOut}
+
+\newenvironment{TSc}
+{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\��]{XCasTSc.user}}
+{\end{VerbatimOut}
+           \executGiacmp{XCasTSc.giac}
+
+   \immediate\write18{mpost  XCasmpTSc}
+
+\begin{center}
+  \includegraphics{XCasmpTSc.\theTVn}
+\end{center}
+\stepcounter{TVn}
+}
+
 
 
 
 
 
-\begin{VerbatimOut}{XCasTV.in}
+\begin{VerbatimOut}{XCasTV.giac}
 maple_mode(0);
-read("XcasTV.meta");
+read("XcasTV.cxx");
 Sortie:=fopen("XCasmpTV.mp");
-vect.xcas.out := read("XCasTV.out");
-vxo := vect.xcas.out;
+vect.xcas.user := read("XCasTV.user");
+vxo := vect.xcas.user;
 dim.vxo := dim(vxo);
 nbr.line.vxo := dim.vxo;
 Resultat:=cat(" "); 
@@ -701,9 +989,9 @@ fclose(Sortie);
 \end{VerbatimOut}
 
 \newenvironment{TV}%
-{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\��]{XCasTV.out}}%
+{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\��]{XCasTV.user}}%
 {\end{VerbatimOut}%
-           \executGiacmp{XCasTV.in}
+           \executGiacmp{XCasTV.giac}
    \immediate\write18{mpost  XCasmpTV}
 \begin{center}
   \includegraphics{XCasmpTV.\theTVn}
@@ -714,12 +1002,12 @@ fclose(Sortie);
 
 
 
-\begin{VerbatimOut}{XCasTVI.in}
+\begin{VerbatimOut}{XCasTVI.giac}
 maple_mode(0);
-read("XcasTVI.meta");
+read("XcasTVI.cxx");
 Sortie:=fopen("XCasmpTVI.mp");
-vect.xcas.out := read("XCasTVI.out");
-vxo := vect.xcas.out;
+vect.xcas.user := read("XCasTVI.user");
+vxo := vect.xcas.user;
 dim.vxo := dim(vxo);
 nbr.line.vxo := dim.vxo;
 Resultat:=cat(" "); 
@@ -730,9 +1018,9 @@ fclose(Sortie);
 \end{VerbatimOut}
 
 \newenvironment{TVI}%
-{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\��]{XCasTVI.out}}%
+{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\��]{XCasTVI.user}}%
 {\end{VerbatimOut}% 
- \executGiacmp{XCasTVI.in}
+ \executGiacmp{XCasTVI.giac}
  \immediate\write18{mpost  XCasmpTVI}
 \begin{center}
   \includegraphics{XCasmpTVI.\theTVn}
-- 
cgit v1.2.3

