summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/tablor/tablor.sty
diff options
context:
space:
mode:
authorManuel Pégourié-Gonnard <mpg@elzevir.fr>2008-05-13 19:05:08 +0000
committerManuel Pégourié-Gonnard <mpg@elzevir.fr>2008-05-13 19:05:08 +0000
commitc6168f59843ce21988e1c11aae4861378182fdfb (patch)
tree71a6e442878e0a400ab6a92c6e26f57affb78c0d /Master/texmf-dist/tex/latex/tablor/tablor.sty
parentfa8296a6b6724e1cb73c5fa2832ddc824f794e5a (diff)
tablor v2.03
git-svn-id: svn://tug.org/texlive/trunk@8112 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/tablor/tablor.sty')
-rw-r--r--Master/texmf-dist/tex/latex/tablor/tablor.sty336
1 files changed, 310 insertions, 26 deletions
diff --git a/Master/texmf-dist/tex/latex/tablor/tablor.sty b/Master/texmf-dist/tex/latex/tablor/tablor.sty
index 4b5a9e57334..d42c65e07c4 100644
--- a/Master/texmf-dist/tex/latex/tablor/tablor.sty
+++ b/Master/texmf-dist/tex/latex/tablor/tablor.sty
@@ -1,6 +1,6 @@
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{tablor}[24/03/2008 v2.01 la machine à créer des tableaux de signes et variations]
+\ProvidesPackage{tablor}[24/03/2008 v2.03 la machine à créer des tableaux de signes et variations]
% \copyleft Connan le Barbare \copyright
% avec l'efficace participation de Jean-Michel Boucart
@@ -75,6 +75,7 @@
\newboolean{windows}\setboolean{windows}{false}
+
%% on configure tablor dans un fichier extérieur pour la plateforme
%% et l'éditeur
@@ -94,15 +95,16 @@
+
%% En-tête pour le fichier metapost contenant les codes
%% de tous les tableaux produits
- \begin{VerbatimOut}{tete.mp}
+ \begin{VerbatimOut}[commandchars=?§£]{tete.mp}
input tableauVariation;
verbatimtex
%&latex
\documentclass{article}
- \usepackage[upright]{fourier}
+ \\?fonte
\usepackage{amsmath}
\newcommand{\Mathbold}[1]{\mbox{\boldmath$#1$\unboldmath}}
\begin{document}
@@ -110,6 +112,8 @@
\end{VerbatimOut}
+
+
%% Nettoie les fichiers log dont le nom dépend du choix de l'utilisateur
%% Par défaut, c'est le nom du fichier tex courant (\jobname)
%% Clôt le fichier metapost contenant le récapitulatif de tous les tableaux
@@ -191,15 +195,12 @@
-
-
-
%%
%% Code giac/Xcas pour les Tableaux de Variations
%%
-\begin{VerbatimOut}{XcasTV.cxx}
+\begin{VerbatimOut}[commandchars=?§£]{XcasTV.cxx}
TV(L,F,nom,nomv,f,ftt,nmr):={
nl:=size(L);
f:=unapply(f,x);
@@ -250,11 +251,13 @@ newLigneVariations(btex $\\hbox{\\bf Variations de }\\atop{\\displaystyle \\Math
if(k0==1){"1"}else{"0"}+
");";
- if(nz>2){ for(r:=1; r<=nz-2;r++){ krm:=evalf(limite(f(x),x=Z[r-1],1))< evalf(limite(f(x),x=Z[r],-1));
+ if(nz>2){ for(r:=1; r<=nz-2;r++){ krm:=evalf(limite(f(x),x=Z[r-1],1))< evalf(limite(f(x),x=Z[r],-1));
krp:=evalf(limite(f(x),x=Z[r],1))> evalf(limite(f(x),x=Z[r+1],-1)) ;
lmrm:=limite(f(x),x=Z[r],-1)==-infinity;lmrp:=limite(f(x),x=Z[r],1)==-infinity;
lp:=lp+if(member(Z[r],F)){
- "limGauche(btex $"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}}
+ "limGauche(btex
+ $"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],-1)))}+"$
+ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}}
else{"valPos(btex $"+latex(simplifier(f(Z[r])))+"$
etex,"+if(sign(evalf(fp(Z[r]-0.01)))==sign(fp(Z[r]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);
"}}}
@@ -270,7 +273,7 @@ intro:="input tableauVariation;
verbatimtex
%&latex
\\documentclass{article}
- \\usepackage[upright]{fourier}
+ \\?fonte
\\usepackage{amsmath}
\\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}}
\\begin{document}
@@ -386,7 +389,249 @@ return(MetaL);
\end{VerbatimOut}
+%%
+%%
+%% TV avec une zone interdite : on rajoute comme argument l'intervalle interdit
+%% par exemple, pour sqrt(x^2-1) : TVZ([-infinity,100],[],[-1,1],"f","x",sqrt(x^2-1),1,1)
+%%
+
+\begin{VerbatimOut}[commandchars=?§£]{XcasTVZ.cxx}
+
+TVZ(L,F,FF,nom,nomv,f,ftt,nmr):={
+nl:=size(L);
+if(FF[0]>L[0]){Imin:=FF[0];LL:=L}else{Imin:=L[0];LL:=[L[1]]};
+if(FF[1]<L[1]){Imax:=FF[1];LL:=L}else{Imax:=L[1];LL:=[L[0]]};
+FF:=[Imin,Imax];
+f:=unapply(f,x);
+fp:=fonction_derivee(f);
+Z:=concat(LL,F);
+Z:=concat(Z,FF);
+S:=resoudre(fp(x),x);
+ si size(S)>0 alors pour j de 0 jusque size(S)-1 faire
+ kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[nl-1]));
+ kK:=(evalf(S[j])<evalf(Imin)) or (evalf(S[j])>evalf(Imax));
+ Kk:=(kk) and kK;
+ if(Kk==1){Z:=append(Z,simplifier(S[j]))};
+ fpour
+ fsi;
+
+Z:=sort(Z);
+nz:=size(Z);
+
+
+ si Z[0]==Z[1] alors Z:=augment(Z[0],Z[2..nz-1]);nz:=nz-1;
+ fsi;
+pour u de 1 jusque nz-2 faire
+ si Z[u]==Z[u+1] alors Z:=augment(Z[0..u-1],Z[u+1..nz-1]);nz:=nz-1;
+ fsi;
+fpour;
+nz:=size(Z);
+for(k:=1;k<nz;k++){
+if ((Z[k]>Imin)and(Z[k]<Imax)){Z:=augment(Z[0..k-1],Z[k+1..nz-1]);nz:=nz-1;
+}
+}
+nz:=size(Z);
+
+l0:=" newLigneVariables(btex $"+nomv+"$ etex);";lp:=" "; lf:=" ";lsp:=" ";
+pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex);
+";fpour;
+
+ k0:= evalf(limite(f(x),x=Z[0],1))> evalf(limite(f(x),x=Z[1],-1));
+ kz:=evalf(limite(f(x),x=Z[nz-1],-1))> evalf(limite(f(x),x=Z[nz-2],1));
+
+lsi:="
+newLigneSignes(btex $\\hbox{ Signe de }\\atop{\\displaystyle "+nom+"'("+nomv+")}$ etex);"+
+ if(Z[0]==Imin){"debutNonDef;"}else{if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){
+ if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+
+ if(sign(fp(Z[0]+10^(-5)))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+
+ if(sign(fp((Z[0]+10^(-5))))==1){"plus;"}else{"moins;"} }}}
+
+if(nz>2){ for(r:=1; r<=nz-2;r++){ ksp:=evalf(fp(Z[r]+0.01))>0;
+ lsp:=lsp+if(Z[r]==Imin){"debutNonDef;"}else{
+ if(Z[r]==Imax){"finNonDef;"+
+ if(ksp==1){"plus;"}else{"moins;"}}else{
+ if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+
+ if(ksp==1){"plus;"}else{"moins;"}
+ }}}};
+
+lsf:=if(Z[0]==Imax){"finNonDef;"}else{if(member(Z[nz-1],F)==0){""}else{"nomDefBarre;
+"}}
+lm0:=limite(f(x),x=Z[0],1)==-infinity;
+ li:="
+newLigneVariations(btex $\\hbox{\\bf Variations de }\\atop{\\displaystyle \\Mathbold{"+nom+"}}$ etex);"+
+ if(member(Z[0],F)==0){"valPos(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"}
+ else{"nonDefBarre;limDroite(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"}+
+ if(k0==1){"1"}else{"0"}+
+ ");";
+
+if(nz>2){
+ for(r:=1; r<=nz-2;r++){
+ krm:=evalf(limite(f(x),x=Z[r-1],1))< evalf(limite(f(x),x=Z[r],-1));
+ krp:=evalf(limite(f(x),x=Z[r],1))> evalf(limite(f(x),x=Z[r+1],-1)) ;
+ lmrm:=limite(f(x),x=Z[r],-1)==-infinity;lmrp:=limite(f(x),x=Z[r],1)==-infinity;
+ lp:=lp+if(Z[r]==Imin){"limGauche(btex $"+if(lmrm==1){
+ "-\\infty"}else{
+ latex(simplifier(limite(f(x),x=Z[r],-1)))}
+ +"$ etex,"+if(krm==1){
+ "1);"}else{"0);"}
+ +"debutNonDef;"
+ }//fsi Zr=Imin
+ else{
+ if (Z[r]==Imax) {"finNonDef;limDroite(btex $"+if(lmrp==1){
+ "-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))}
+ +"$ etex,"+if(krp==1){
+ "1);"}else{"0);"}
+ }
+ else {
+ if(member(Z[r],F)){
+ "limGauche(btex $"+if(lmrm==1){
+ "-\\infty"}else{
+ latex(simplifier(limite(f(x),x=Z[r],-1)))}
+ +"$ etex,"+if(krm==1){
+ "1);"}else{"0);"}
+ +"nonDefBarre;limDroite(btex $"+if(lmrp==1){
+ "-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))}
+ +"$ etex,"+if(krp==1){
+ "1);"}else{"0);"}
+ }//fsi (member Zr F)
+ else{"valPos(btex$"+latex(simplifier(f(Z[r])))+"$etex,"+
+ if(sign(evalf(fp(Z[r]-0.01)))==sign(fp(Z[r]+0.01))){
+ "0.5);"}else{
+ if(krp==1){
+ "1);"}else{"0);"}//felse(krp)
+ }//felse(valpos)
+ }//felse(member Zr F)
+ } //felse(Zr=Imax)
+ }//felse(Zr=Imin)
+ };//ffor
+ }//fsi nz
+
+lnz:=limite(f(x),x=Z[nz-1],-1)==-infinity;
+ lf:=if(member(Z[nz-1],F)==0){"valPos(btex $"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$ etex,"}else{"nonDefBarre;limGauche(btex $"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$ etex,"}+
+ if(kz==1){"1);"}else{"0);
+"};
+
+
+intro:="input tableauVariation;
+ verbatimtex
+%&latex
+ \\documentclass{article}
+ \\?fonte
+ \\usepackage{amsmath}
+ \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}}
+ \\begin{document}
+ etex;
+
+"
+
+
+MetaL:=if(ftt==2){if(nz>2){intro+"beginTableau("+nmr+")"+
+ l0+lsi+lsp+lsf+"
+endTableau;
+end
+";}else{
+intro+"beginTableau("+nmr+")"+
+ l0+
+lsi+lsf+"
+endTableau;
+end";
+}
+}else{ if(ftt==0){if(nz>2){intro+"beginTableau("+nmr+")"+
+ l0+
+li+
+lp+
+lf
++"
+endTableau;
+end";}else{intro+"beginTableau("+nmr+")"+
+ l0+
+li+
+lf
++"
+endTableau;
+end";}}else{
+if(nz>2){intro+"beginTableau("+nmr+")"+
+ l0+
+lsi+lsp+lsf+
+li+
+lp+
+lf
++"
+endTableau;
+end";}else{intro+"beginTableau("+nmr+")"+
+ l0+
+lsi+lsf+
+li+
+lf
++"
+endTableau;
+end";}
+}}
+
+
+
+MetaLfc:=if(ftt==2){if(nz>2){"
+
+beginTableau("+nmr+")"+
+ l0+lsi+lsp+lsf+"
+endTableau;
+
+";}else{
+intro+"beginTableau("+nmr+")"+
+ l0+
+lsi+lsf+"
+endTableau;
+
+";
+}
+}else{ if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+
+ l0+
+li+
+lp+
+lf
++"
+endTableau;
+
+";}else{"beginTableau("+nmr+")"+
+ l0+
+li+
+lf
++"
+endTableau;
+
+";}}else{
+if(nz>2){"beginTableau("+nmr+")"+
+ l0+
+lsi+lsp+lsf+
+li+
+lp+
+lf
++"
+endTableau;
+
+";}else{"beginTableau("+nmr+")"+
+ l0+
+lsi+lsf+
+li+
+lf
++"
+endTableau;
+
+";}
+}}
+
+
+sortie:=fopen("XCasmpfc.mp");
+fprint(sortie,Unquoted,MetaLfc);
+fclose(sortie);
+
+
+return(MetaL);
+ }
+:;
+
+\end{VerbatimOut}
%%
@@ -396,7 +641,7 @@ return(MetaL);
-\begin{VerbatimOut}{XcasTVapp.cxx}
+\begin{VerbatimOut}[commandchars=?§£]{XcasTVapp.cxx}
@@ -493,7 +738,7 @@ intro:="input tableauVariation;
verbatimtex
%&latex
\\documentclass{article}
- \\usepackage[upright]{fourier}
+ \\?fonte
\\usepackage{amsmath}
\\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}}
\\begin{document}
@@ -629,7 +874,7 @@ return(MetaL);
-\begin{VerbatimOut}{XcasTVI.cxx}
+\begin{VerbatimOut}[commandchars=?§£]{XcasTVI.cxx}
TVI(L,F,nom,nomv,f,ftt,ao,nmr):={
@@ -769,7 +1014,7 @@ input tableauVariation;
verbatimtex
%&latex
\\documentclass{article}
- \\usepackage[upright]{fourier}
+ \\?fonte
\\usepackage{amsmath}
\\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}}
\\begin{document}
@@ -898,7 +1143,7 @@ return(MetaL);
-\begin{VerbatimOut}{XcasTVIapp.cxx}
+\begin{VerbatimOut}[commandchars=?§£]{XcasTVIapp.cxx}
TVIapp(L,F,nom,nomv,f,ftt,ao,nmr):={
@@ -1059,7 +1304,7 @@ input tableauVariation;
verbatimtex
%&latex
\\documentclass{article}
- \\usepackage[upright]{fourier}
+ \\?fonte
\\usepackage{amsmath}
\\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}}
\\begin{document}
@@ -1193,7 +1438,7 @@ return(MetaL);
-\begin{VerbatimOut}{XcasTabSignL.cxx}
+\begin{VerbatimOut}[commandchars=?§£]{XcasTabSignL.cxx}
TS(L,D,nmr):={
@@ -1235,7 +1480,7 @@ MetaL:=" input tableauVariation;
verbatimtex
%&latex
\\documentclass{article}
- \\usepackage[upright]{fourier}
+ \\?fonte
\\usepackage{amsmath}
\\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}}
\\begin{document}
@@ -1310,7 +1555,7 @@ MetaL:=" input tableauVariation;
verbatimtex
%&latex
\\documentclass{article}
- \\usepackage[upright]{fourier}
+ \\?fonte
\\usepackage{amsmath}
\\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}}
\\begin{document}
@@ -1371,7 +1616,7 @@ return(MetaL);
-\begin{VerbatimOut}{XcasTabSignQ.cxx}
+\begin{VerbatimOut}[commandchars=?§£]{XcasTabSignQ.cxx}
TSq(nomf,L,Fo,D,nmr):={
L:=apply(f->unapply(f,x),L);
Fo:=apply(f->unapply(f,x),Fo);
@@ -1436,7 +1681,7 @@ MetaL:=" input tableauVariation;
verbatimtex
%&latex
\\documentclass{article}
- \\usepackage[upright]{fourier}
+ \\?fonte
\\usepackage{amsmath}
\\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}}
\\begin{document}
@@ -1520,7 +1765,7 @@ MetaL:=" input tableauVariation;
verbatimtex
%&latex
\\documentclass{article}
- \\usepackage[upright]{fourier}
+ \\?fonte
\\usepackage{amsmath}
\\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}}
\\begin{document}
@@ -1598,7 +1843,7 @@ return(MetaL);
-\begin{VerbatimOut}{XcasTabSign.cxx}
+\begin{VerbatimOut}[commandchars=?§£]{XcasTabSign.cxx}
TSa(a,b,c,d,nmr):={
zA:=resoudre(a*x+b=0,x)[0];
zB:=resoudre(c*x+d=0,x)[0];
@@ -1608,7 +1853,7 @@ zmax:=max(zA,zB);
verbatimtex
%&latex
\\documentclass{article}
- \\usepackage[upright]{fourier}
+ \\?fonte
\\usepackage{amsmath}
\\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}}
\\begin{document}
@@ -1660,7 +1905,7 @@ return(Meta);
-\begin{VerbatimOut}{XcasTSc.cxx}
+\begin{VerbatimOut}[commandchars=?§£]{XcasTSc.cxx}
TSc(g,D,nmr):={
f:=unapply(g,x);
Z:=NULL;
@@ -1725,7 +1970,7 @@ MetaL:=" input tableauVariation;
verbatimtex
%&latex
\\documentclass{article}
- \\usepackage[upright]{fourier}
+ \\?fonte
\\usepackage{amsmath}
\\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}}
\\begin{document}
@@ -2006,6 +2251,45 @@ fclose(Sortie);
+
+
+
+
+\begin{VerbatimOut}{XCasTVZ.giac}
+maple_mode(0);
+read("XcasTVZ.cxx");
+Sortie:=fopen("XCasmpTVZ.mp");
+vect.xcas.user := read("XCasTVZ.user");
+vxo := vect.xcas.user;
+dim.vxo := dim(vxo);
+nbr.line.vxo := dim.vxo;
+Resultat:=cat(" ");
+rslt := vxo[0]; RslT:=cat(rslt);
+Resultat:=cat(Resultat,RslT);
+fprint(Sortie,Unquoted,Resultat);
+fclose(Sortie);
+\end{VerbatimOut}
+
+\newenvironment{TVZ}%
+{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasTVZ.user}}%
+{\end{VerbatimOut}
+\dresse{TVZ}}
+
+\newenvironment{TVZ*}[1]{%
+\setcounter{TVnbis}{\theTVn}
+\setcounter{TVn}{#1}
+\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasTVZ.user}}%
+{\end{VerbatimOut}\dressetoile{TVZ}}
+
+
+
+
+
+
+
+
+
+
\begin{VerbatimOut}{XCasTVapp.giac}
maple_mode(0);
read("XcasTVapp.cxx");