From 24078264b6352d3a11d7d4e8a8e3793528b76339 Mon Sep 17 00:00:00 2001 From: Karl Berry 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]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]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]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]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