summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/tablor
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-05-14 18:27:55 +0000
committerKarl Berry <karl@freefriends.org>2010-05-14 18:27:55 +0000
commitf62ddee209e4738d7178b9c7be4238df44593a8c (patch)
tree0599b68179278154ec762966e0ac5ab668164a95 /Master/texmf-dist/tex/latex/tablor
parent796f1a22ebec723341de97da1835bfeef05d79be (diff)
tablor 4.07 (10may10)
git-svn-id: svn://tug.org/texlive/trunk@18250 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/tablor')
-rw-r--r--Master/texmf-dist/tex/latex/tablor/tablor-xetex.sty238
-rw-r--r--Master/texmf-dist/tex/latex/tablor/tablor.sty224
2 files changed, 286 insertions, 176 deletions
diff --git a/Master/texmf-dist/tex/latex/tablor/tablor-xetex.sty b/Master/texmf-dist/tex/latex/tablor/tablor-xetex.sty
index cd4bae7839e..a41e846c597 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}[02/12/2009 v4.06-d la machine a creer des
+\ProvidesPackage{tablor-xetex}[08/05/2010 v4.07 la machine a creer des
tableaux de signes et variations compatible xetex]
% \copyleft Connan le Barbare (aka Guillaume Connan) \copyright
@@ -175,9 +175,11 @@ epstopdf $1.eps;
%% Definit des commandes disque selon l'OS utilise
\ifthenelse{\boolean{windows}}%
{\newcommand{\rem}{DEL } \newcommand{\cat}{TYPE }
- \newcommand{\cp}{COPY }}%
+ \newcommand{\cp}{COPY }\newcommand{\echod}{ECHO }
+ \newcommand{\echof}{}}%
{\newcommand{\rem}{rm }\newcommand{\cat}{cat }
- \newcommand{\cp}{cp }}
+ \newcommand{\cp}{cp }\newcommand{\echod}{echo "}
+ \newcommand{\echof}{"}}
@@ -753,13 +755,36 @@ if(member(Z[0],IMIN)!=0){if((member(Z[0],F)==0) and (fp(Z[0])!=undef)){"debutNon
-if(nz>2){ for(r:=1; r<=nz-2;r++){ ksp:=evalf(fp(Z[r]+0.01))>0;
- lsp:=lsp+if(member(Z[r],IMIN)!=0){if((member(Z[r],F)==0) and (fp(Z[r])!=undef)){"debutNonDef;"}else{"debutNonDefStrict;"}}else{
- if(member(Z[r],IMAX)!=0){if((member(Z[r],F)==0) and (fp(Z[r])!=undef)){"finNonDef;"}else{"finNonDefStrict;"}+
- 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;"}
- }}}};
+
+
+
+
+
+
+// modif 3 avril 2010
+
+if(nz>2){ for(r:=1; r<=nz-2;r++){
+ lsp:=lsp+
+ if(member(Z[r],IMIN)!=0){
+ if((member(Z[r],F)==0) and (fp(Z[r])!=undef)){"debutNonDef;"}
+ else{"debutNonDefStrict;"}}
+ else{if(member(Z[r],IMAX)!=0){if((member(Z[r],F)==0) and (fp(Z[r])!=undef)){"finNonDef;"}
+ else{"finNonDefStrict;"}+
+ if(evalf(fp(Z[r]+0.01))>0){"plus;"}
+ else{"moins;"}}
+ else{if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}
+ else{"nonDefBarre;"}+
+ if(evalf(fp(Z[r]+0.01))>0){"plus;"}
+ else{"moins;"}
+ }}
+ }};
+
+// fin modif
+
+
+
+
+
@@ -923,18 +948,22 @@ 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}
-else{if(L[0]==-infinity){j:=[seq(k,k=-100..floor(L[1]))] 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[1]==+infinity){j:=[seq(k,k=floor(L[0])..100)] 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{ j:=[seq(k,k=floor(z[0])..floor(z[nz-1]))] 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; }}};
+if(L==[-infinity,+infinity]){j:=[seq(-50+2*k,k=0..50)]minus F;
+ for k in j do for(m:=-5;m<=5;m++){S:=S,resoudre_numerique(fp(y),y,k+m*0.1,k+(m+1)*0.1,bisection_solver)};end_for}
+else{if(L[0]==-infinity){j:=[seq(2*k,k=-25..0.5*floor(L[1]))] minus F;
+ for k in j do for(m:=-5;m<=5;m++){ S:=S,resoudre_numerique(fp(y),y,k+m*0.1,k+(m+1)*0.1,bisection_solver)};end_for}
+else{if(L[1]==+infinity){
+j:=[seq(2*k,k=floor(0.5*L[0])..0.5*50)] minus F;
+ for k in j do for(m:=-5;m<=5;m++){ S:=S,resoudre_numerique(fp(y),y,k+m*0.1,k+(m+1)*0.1,bisection_solver)};end_for
+}
+else{ j:=[seq(2*k,k=0.5*floor(z[0])..0.5*floor(z[nz-1]))] minus F;
+ for k in j do for(m:=-5;m<=5;m++){S:=S,resoudre_numerique(fp(y),y,k+m*0.1,k+(m+1)*0.1,bisection_solver)};end_for }
+ }};
+
+
@@ -1647,20 +1676,26 @@ 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}
-else{if(L[0]==-infinity){j:=[seq(k,k=-100..floor(L[1]))] 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[1]==+infinity){j:=[seq(k,k=floor(L[0])..100)] 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{ j:=[seq(k,k=floor(z[0])..floor(z[nz-1]))] 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; }}};
+if(L==[-infinity,+infinity]){j:=[seq(-50+2*k,k=0..50)]minus F;
+ for k in j do for(m:=-5;m<=5;m++){S:=S,resoudre_numerique(fp(y),y,k+m*0.1,k+(m+1)*0.1,bisection_solver)};end_for}
+else{if(L[0]==-infinity){j:=[seq(2*k,k=-25..0.5*floor(L[1]))] minus F;
+ for k in j do for(m:=-5;m<=5;m++){ S:=S,resoudre_numerique(fp(y),y,k+m*0.1,k+(m+1)*0.1,bisection_solver)};end_for}
+else{if(L[1]==+infinity){
+j:=[seq(2*k,k=floor(0.5*L[0])..0.5*50)] minus F;
+ for k in j do for(m:=-5;m<=5;m++){ S:=S,resoudre_numerique(fp(y),y,k+m*0.1,k+(m+1)*0.1,bisection_solver)};end_for
+}
+else{ j:=[seq(2*k,k=0.5*floor(z[0])..0.5*floor(z[nz-1]))] minus F;
+ for k in j do for(m:=-5;m<=5;m++){S:=S,resoudre_numerique(fp(y),y,k+m*0.1,k+(m+1)*0.1,bisection_solver)};end_for }
+ }};
+
+
+
+
@@ -1918,7 +1953,7 @@ TVP(L,F,nom,nomv,ff,ftt,trigo,nmr):={
nl:=size(L);
fp:=[];
S:=[];
-f:=[unapply(ff[0],x),unapply(ff[1],x)];
+f:=[unapply(ff[0],t),unapply(ff[1],t)];
fp:=[function_diff(f[0]),function_diff(f[1])];
Z:=[];
LLL:=[];
@@ -2817,7 +2852,11 @@ fclose(sortie);
\newcommand\ech[1]{\renewcommand\echelle{#1}}
-\newcommand{\dresse}[1]{%
+
+\newcommand\couleurtab{black}
+\newcommand\coultab[1]{\renewcommand\couleurtab{#1}}
+
+\newcommand{\dresse}[2]{%
@@ -2826,17 +2865,25 @@ fclose(sortie);
\ifthenelse{\boolean{xcas}}{% Avec l'option "XCas present"
- \executGiacmp{XCas#1.giac}% reconstituer le tableau
+ \executGiacmp{XCas#2.giac}% reconstituer le tableau
% exporter le source mp
% puis lancer metapost pour creer
% l'image du tableau
\immediate\write18{\cat XCasmpfc.mp >> \nomtravail_Tab.mp}
- \immediate\write18{\cat enteteMP.cfg >> \nomtravail_Tab#1.mp}
- \immediate\write18{\cat XCasmpfc.mp >> \nomtravail_Tab#1.mp}
- \immediate\write18{\cat queue.mp >> \nomtravail_Tab#1.mp}
- \immediate\write18{./convert-mp-pdf.sh \nomtravail_Tab#1 \theTVn}
- \immediate\write18{\cp \nomtravail_Tab#1.pdf \nomtravail_Tab\theTVn.pdf}
- \immediate\write18{\rem \nomtravail_Tab#1.mp}
+ \immediate\write18{\cat enteteMP.cfg >> \nomtravail_Tab#2.mp}
+\immediate\write18{\echod def beginTableau(expr c) =\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod begingroup\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod charcode:=c;\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod clearxy; clearit; clearpen;\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod pickup defaultpen;\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod drawoptions(withcolor(#1));\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod initTableau;\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod enddef;\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\cat XCasmpfc.mp >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\cat queue.mp >> \nomtravail_Tab#2.mp}
+ \immediate\write18{./convert-mp-pdf.sh \nomtravail_Tab#2 \theTVn}
+ \immediate\write18{\cp \nomtravail_Tab#2.pdf \nomtravail_Tab\theTVn.pdf}
+ \immediate\write18{\rem \nomtravail_Tab#2.mp}
}%
{% sinon, si le tableau est absent, alerte.
\IfFileExists{\nomtravail_Tab.\theTVn}{}{%
@@ -2853,22 +2900,29 @@ fclose(sortie);
\else
-
\ifthenelse{\boolean{xcas}}{% Avec l'option "XCas present"
- \executGiacmp{XCas#1.giac}% reconstituer le tableau
+ \executGiacmp{XCas#2.giac}% reconstituer le tableau
% exporter le source mp
% puis lancer metapost pour creer
% l'image du tableau
\immediate\write18{\cat XCasmpfc.mp >> \nomtravail_Tab.mp}
- \immediate\write18{\cat enteteMP.cfg >> \nomtravail_Tab#1.mp}
- \immediate\write18{\cat XCasmpfc.mp >> \nomtravail_Tab#1.mp}
- \immediate\write18{\cat queue.mp >> \nomtravail_Tab#1.mp}
- \immediate\write18{mpost -jobname=\nomtravail_Tab \nomtravail_Tab#1.mp}
- \immediate\write18{\rem \nomtravail_Tab#1.mp}
+ \immediate\write18{\cat enteteMP.cfg >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod def beginTableau(expr c) =\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod begingroup\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod charcode:=c;\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod clearxy; clearit; clearpen;\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod pickup defaultpen;\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod drawoptions(withcolor(#1));\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod initTableau;\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod enddef;\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\cat XCasmpfc.mp >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\cat queue.mp >> \nomtravail_Tab#2.mp}
+ \immediate\write18{mpost -jobname=\nomtravail_Tab \nomtravail_Tab#2.mp}
+ \immediate\write18{\rem \nomtravail_Tab#2.mp}
}%
{% sinon, si le tableau est absent, alerte.
\IfFileExists{\nomtravail_Tab.\theTVn}{}{%
- \PackageError{tablor-xetex}{Tableau absent non
+ \PackageError{tablor}{Tableau absent non
reconstituable.}{Pour compiler il faut, soit les fichiers de
tableaux, soit le fichier \nomtravail_Tab.mp, soit disposer de
XCas.}}}
@@ -2890,7 +2944,7 @@ fclose(sortie);
-\newcommand{\dressetoile}[1]{%
+\newcommand{\dressetoile}[2]{%
@@ -2900,7 +2954,7 @@ fclose(sortie);
% Si oui, inclusion du fichier source de sauvegarde mp dans Tableaux
\immediate\write18{\cat TSav-\theTVn.mp >> \nomtravail_Tab.mp}}
% Si non, lancement des operations de fabrication
-{\executGiacmp{XCas#1.giac}%
+{\executGiacmp{XCas#2.giac}%
\immediate\write18{\editeur XCasmpfc.mp }
% Modification avec l'editeur choisi
@@ -2908,18 +2962,26 @@ fclose(sortie);
\immediate\write18{\cp XCasmpfc.mp TSav-\theTVn.mp} % Sauvegarde du
% source mp sur le disque pour une
% inclusion ulterieure dans Tableaux.mp.
-\immediate\write18{\cat enteteMP.cfg >> \nomtravail_Tab#1.mp}
-\immediate\write18{\cat XCasmpfc.mp >> \nomtravail_Tab#1.mp}} % Inclusion du
+\immediate\write18{\cat enteteMP.cfg >> \nomtravail_Tab#2.mp}
+\immediate\write18{\echod def beginTableau(expr c) =\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod begingroup\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod charcode:=c;\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod clearxy; clearit; clearpen;\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod pickup defaultpen;\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod drawoptions(withcolor(#1));\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod initTableau;\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod enddef;\echof >> \nomtravail_Tab#2.mp}
+\immediate\write18{\cat XCasmpfc.mp >> \nomtravail_Tab#2.mp}} % Inclusion du
% source dans le
% fichier
% Tableaux
-\immediate\write18{\cat queue.mp >> \nomtravail_Tab#1.mp}
+\immediate\write18{\cat queue.mp >> \nomtravail_Tab#2.mp}
\immediate\write18{./convert-mp-pdf.sh \nomtravail_Tab#1 \theTVn}
- \immediate\write18{\cp \nomtravail_Tab#1.pdf \nomtravail_Tab\theTVn.pdf}% Reconstitution des tableaux
+ \immediate\write18{\cp \nomtravail_Tab#2.pdf \nomtravail_Tab\theTVn.pdf}% Reconstitution des tableaux
% et creation du dernier. L'option
% pallie l'absence de end en fin de
% fichier
-\immediate\write18{\rem \nomtravail_Tab#1.mp}
+\immediate\write18{\rem \nomtravail_Tab#2.mp}
\begin{center}
\includegraphics[scale=\echelle]{\nomtravail_Tab\theTVn.pdf}
@@ -2930,12 +2992,11 @@ fclose(sortie);
\else
-
\IfFileExists{\nomtravail_Tab.\theTVn}{% Test sur l'existence du tableau
% Si oui, inclusion du fichier source de sauvegarde mp dans Tableaux
\immediate\write18{\cat TSav-\theTVn.mp >> \nomtravail_Tab.mp}}
% Si non, lancement des operations de fabrication
-{\executGiacmp{XCas#1.giac}%
+{\executGiacmp{XCas#2.giac}%
\immediate\write18{\editeur XCasmpfc.mp }
% Modification avec l'editeur choisi
@@ -2943,17 +3004,25 @@ fclose(sortie);
\immediate\write18{\cp XCasmpfc.mp TSav-\theTVn.mp} % Sauvegarde du
% source mp sur le disque pour une
% inclusion ulterieure dans Tableaux.mp.
-\immediate\write18{\cat enteteMP.cfg >> \nomtravail_Tab#1.mp}
-\immediate\write18{\cat XCasmpfc.mp >> \nomtravail_Tab#1.mp}} % Inclusion du
+\immediate\write18{\cat enteteMP.cfg >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod def beginTableau(expr c) =\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod begingroup\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod charcode:=c;\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod clearxy; clearit; clearpen;\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod pickup defaultpen;\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod drawoptions(withcolor(#1));\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod initTableau;\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod enddef;\echof >> \nomtravail_Tab#2.mp}
+\immediate\write18{\cat XCasmpfc.mp >> \nomtravail_Tab#2.mp}} % Inclusion du
% source dans le
% fichier
% Tableaux
-\immediate\write18{\cat queue.mp >> \nomtravail_Tab#1.mp}
-\immediate\write18{mpost -jobname=\nomtravail_Tab \nomtravail_Tab#1.mp}% Reconstitution des tableaux
+\immediate\write18{\cat queue.mp >> \nomtravail_Tab#2.mp}
+\immediate\write18{mpost -jobname=\nomtravail_Tab \nomtravail_Tab#2.mp}% Reconstitution des tableaux
% et creation du dernier. L'option
% pallie l'absence de end en fin de
% fichier
-\immediate\write18{\rem \nomtravail_Tab#1.mp}
+\immediate\write18{\rem \nomtravail_Tab#2.mp}
\begin{center}
\includegraphics[scale=\echelle]{\nomtravail_Tab.\theTVn}
@@ -2961,6 +3030,7 @@ fclose(sortie);
\ech{1}
\setcounter{TVn}{\theTVnbis} % Restauration du compteur TVn
+
\fi
}
@@ -2994,7 +3064,7 @@ read("XCasa.user");
\newenvironment{TSa}
{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasa.user}}
{\end{VerbatimOut}
- \dresse{a}
+ \dresse{\couleurtab}{a}
}
@@ -3015,7 +3085,7 @@ read("XCasQ.user");
\newenvironment{TSq}%
{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasQ.user}}
-{\end{VerbatimOut}\dresse{Q}}
+{\end{VerbatimOut}\dresse{\couleurtab}{Q}}
@@ -3023,7 +3093,7 @@ read("XCasQ.user");
{\setcounter{TVnbis}{\theTVn}
\setcounter{TVn}{#1}
\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasQ.user}}
-{\end{VerbatimOut}\dressetoile{Q}}
+{\end{VerbatimOut}\dressetoile{\couleurtab}{Q}}
\begin{VerbatimOut}{XCasL.giac}
@@ -3036,14 +3106,14 @@ read("XCasL.user");
\newenvironment{TS}%
{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasL.user}}
-{\end{VerbatimOut}\dresse{L}}
+{\end{VerbatimOut}\dresse{\couleurtab}{L}}
\newenvironment{TS*}[1]
{\setcounter{TVnbis}{\theTVn}
\setcounter{TVn}{#1}
\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasL.user}}
-{\end{VerbatimOut}\dressetoile{L}}
+{\end{VerbatimOut}\dressetoile{\couleurtab}{L}}
\begin{VerbatimOut}{XCasTSc.giac}
@@ -3061,12 +3131,12 @@ read("XCasTSc.user");
{\setcounter{TVnbis}{\theTVn}
\setcounter{TVn}{#1}
\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTSc.user}}
-{\end{VerbatimOut}\dressetoile{TSc}}
+{\end{VerbatimOut}\dressetoile{\couleurtab}{TSc}}
\newenvironment{TSc}%
{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTSc.user}}
-{\end{VerbatimOut}\dresse{TSc}}
+{\end{VerbatimOut}\dresse{\couleurtab}{TSc}}
\begin{VerbatimOut}{XCasTV.giac}
@@ -3080,13 +3150,13 @@ read("XCasTV.user");
\newenvironment{TV}%
{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTV.user}}%
{\end{VerbatimOut}
-\dresse{TV}}
+\dresse{\couleurtab}{TV}}
\newenvironment{TV*}[1]{%
\setcounter{TVnbis}{\theTVn}
\setcounter{TVn}{#1}
\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTV.user}}%
-{\end{VerbatimOut}\dressetoile{TV}}
+{\end{VerbatimOut}\dressetoile{\couleurtab}{TV}}
@@ -3105,13 +3175,13 @@ read("XCasTVP.user");
\newenvironment{TVP}%
{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVP.user}}%
{\end{VerbatimOut}
-\dresse{TVP}}
+\dresse{\couleurtab}{TVP}}
\newenvironment{TVP*}[1]{%
\setcounter{TVnbis}{\theTVn}
\setcounter{TVn}{#1}
\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVP.user}}%
-{\end{VerbatimOut}\dressetoile{TVP}}
+{\end{VerbatimOut}\dressetoile{\couleurtab}{TVP}}
@@ -3133,13 +3203,13 @@ read("XCasTVZ.user");
\newenvironment{TVZ}%
{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVZ.user}}%
{\end{VerbatimOut}
-\dresse{TVZ}}
+\dresse{\couleurtab}{TVZ}}
\newenvironment{TVZ*}[1]{%
\setcounter{TVnbis}{\theTVn}
\setcounter{TVn}{#1}
\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVZ.user}}%
-{\end{VerbatimOut}\dressetoile{TVZ}}
+{\end{VerbatimOut}\dressetoile{\couleurtab}{TVZ}}
@@ -3161,13 +3231,13 @@ read("XCasTVapp.user");
\newenvironment{TVapp}%
{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVapp.user}}%
{\end{VerbatimOut}
-\dresse{TVapp}}
+\dresse{\couleurtab}{TVapp}}
\newenvironment{TVapp*}[1]{%
\setcounter{TVnbis}{\theTVn}
\setcounter{TVn}{#1}
\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVapp.user}}%
-{\end{VerbatimOut}\dressetoile{TVapp}}
+{\end{VerbatimOut}\dressetoile{\couleurtab}{TVapp}}
@@ -3189,14 +3259,14 @@ read("XCasTVI.user");
\newenvironment{TVI}%
{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVI.user}}%
-{\end{VerbatimOut}\dresse{TVI}}
+{\end{VerbatimOut}\dresse{\couleurtab}{TVI}}
\newenvironment{TVI*}[1]%
{\setcounter{TVnbis}{\theTVn}
\setcounter{TVn}{#1}
\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVI.user}}%
-{\end{VerbatimOut}\dressetoile{TVI}}
+{\end{VerbatimOut}\dressetoile{\couleurtab}{TVI}}
@@ -3212,14 +3282,14 @@ read("XCasTVIex.user");
\newenvironment{TVIex}%
{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVIex.user}}%
-{\end{VerbatimOut}\dresse{TVIex}}
+{\end{VerbatimOut}\dresse{\couleurtab}{TVIex}}
\newenvironment{TVIex*}[1]%
{\setcounter{TVnbis}{\theTVn}
\setcounter{TVn}{#1}
\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVIex.user}}%
-{\end{VerbatimOut}\dressetoile{TVIex}}
+{\end{VerbatimOut}\dressetoile{\couleurtab}{TVIex}}
@@ -3235,14 +3305,14 @@ read("XCasTVIapp.user");
\newenvironment{TVIapp}%
{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVIapp.user}}%
-{\end{VerbatimOut}\dresse{TVIapp}}
+{\end{VerbatimOut}\dresse{\couleurtab}{TVIapp}}
\newenvironment{TVIapp*}[1]%
{\setcounter{TVnbis}{\theTVn}
\setcounter{TVn}{#1}
\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVIapp.user}}%
-{\end{VerbatimOut}\dressetoile{TVIapp}}
+{\end{VerbatimOut}\dressetoile{\couleurtab}{TVIapp}}
@@ -3257,13 +3327,13 @@ read("XCasTVPC.user");
\newenvironment{TVPC}%
{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVPC.user}}%
{\end{VerbatimOut}
-\dresse{TVPC}}
+\dresse{\couleurtab}{TVPC}}
\newenvironment{TVPC*}[1]{%
\setcounter{TVnbis}{\theTVn}
\setcounter{TVn}{#1}
\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVPC.user}}%
-{\end{VerbatimOut}\dressetoile{TVPC}}
+{\end{VerbatimOut}\dressetoile{\couleurtab}{TVPC}}
@@ -3278,13 +3348,13 @@ read("XCasTVS.user");
\newenvironment{TVS}%
{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVS.user}}%
{\end{VerbatimOut}
-\dresse{TVS}}
+\dresse{\couleurtab}{TVS}}
\newenvironment{TVS*}[1]{%
\setcounter{TVnbis}{\theTVn}
\setcounter{TVn}{#1}
\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVS.user}}%
-{\end{VerbatimOut}\dressetoile{TVS}}
+{\end{VerbatimOut}\dressetoile{\couleurtab}{TVS}}
diff --git a/Master/texmf-dist/tex/latex/tablor/tablor.sty b/Master/texmf-dist/tex/latex/tablor/tablor.sty
index b2890910692..b1d3ec7797d 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}[02/12/2009 v4.06-d la machine a creer des tableaux de signes et variations]
+\ProvidesPackage{tablor}[09/05/2010 v4.07 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
@@ -27,7 +27,7 @@
%%\end{TSq}
% un tableau de variation :
%
-% pour les tableaux de signes à une seule ligne
+% pour les tableaux de signes à une seule ligne
% \begin{TSc}
% TSc((x+10)/((x-5)*(x-2)),[-10,5],[2,5],n,0)
% \end{TSc}
@@ -90,8 +90,8 @@
% \end{TVP}
% %
-% Fonctions prolongeables par continuité
-% TVPC([intervalles d'étude],[valeurs prolongeables],[valeurs interdites pour f'],"g","t",e^(-1/x^2),1,n,\tv);
+% Fonctions prolongeables par continuité
+% TVP([intervalles d'étude],[valeurs prolongeables],[valeurs interdites pour f'],"g","t",e^(-1/x^2),1,n,\tv);
% \begin{TVPC}
@@ -137,9 +137,11 @@
%% Definit des commandes disque selon l'OS utilise
\ifthenelse{\boolean{windows}}%
{\newcommand{\rem}{DEL } \newcommand{\cat}{TYPE }
- \newcommand{\cp}{COPY }}%
+ \newcommand{\cp}{COPY } \newcommand{\echod}{ECHO }
+ \newcommand{\echof}{ }}%
{\newcommand{\rem}{rm }\newcommand{\cat}{cat }
- \newcommand{\cp}{cp }}
+ \newcommand{\cp}{cp } \newcommand{\echod}{echo "}
+ \newcommand{\echof}{"}}
@@ -174,7 +176,7 @@
%% Nettoie les fichiers log dont le nom depend du choix de l'utilisateur
%% Par defaut, c'est le nom du fichier tex courant (\jobname)
-%% Clôt le fichier metapost contenant le recapitulatif de tous les tableaux
+%% Clôt le fichier metapost contenant le recapitulatif de tous les tableaux
@@ -186,7 +188,7 @@
%% Donne comme prefixe aux tableaux le prefixe courant
-%% Peut-être modifie par \initablor
+%% Peut-être modifie par \initablor
\newcommand{\nomtravail}{\jobname}
@@ -211,14 +213,14 @@
{\IfFileExists{\nomtravail_Tab.mp}% Si Tableaux.mp est present...
{\immediate\write18{\rem \nomtravail_Tab.mp}}% le detruire
{}%
- \immediate\write18{\cp enteteMP.cfg \nomtravail_Tab.mp}% Reconstituer l'entête de Tableaux.mp
+ \immediate\write18{\cp enteteMP.cfg \nomtravail_Tab.mp}% Reconstituer l'entête de Tableaux.mp
}
{\IfFileExists{\nomtravail_Tab.mp}% Sans l'option XCas, si
% Tableaux.mp existe
{\immediate\write18{mpost -interaction=batchmode \nomtravail_Tab}}% l'executer pour reconstituer les figures
{\PackageWarning{tablor}{Pas de source metapost pour creer les tableaux.}}% sinon message d'erreur
% (mais pas d'arret car les tableaux
- % peuvent être presents )
+ % peuvent être presents )
}}%
@@ -430,7 +432,7 @@ fclose(sortie);
%
%
-% TVPC : pour les fonctions prolongeables par continuité.
+% TVPC : pour les fonctions prolongeables par continuité.
%%
%%
@@ -715,13 +717,27 @@ if(member(Z[0],IMIN)!=0){if((member(Z[0],F)==0) and (fp(Z[0])!=undef)){"debutNon
-if(nz>2){ for(r:=1; r<=nz-2;r++){ ksp:=evalf(fp(Z[r]+0.01))>0;
- lsp:=lsp+if(member(Z[r],IMIN)!=0){if((member(Z[r],F)==0) and (fp(Z[r])!=undef)){"debutNonDef;"}else{"debutNonDefStrict;"}}else{
- if(member(Z[r],IMAX)!=0){if((member(Z[r],F)==0) and (fp(Z[r])!=undef)){"finNonDef;"}else{"finNonDefStrict;"}+
- 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;"}
- }}}};
+// modif 3 avril 2010
+
+if(nz>2){ for(r:=1; r<=nz-2;r++){
+ lsp:=lsp+
+ if(member(Z[r],IMIN)!=0){
+ if((member(Z[r],F)==0) and (fp(Z[r])!=undef)){"debutNonDef;"}
+ else{"debutNonDefStrict;"}}
+ else{if(member(Z[r],IMAX)!=0){if((member(Z[r],F)==0) and (fp(Z[r])!=undef)){"finNonDef;"}
+ else{"finNonDefStrict;"}+
+ if(evalf(fp(Z[r]+0.01))>0){"plus;"}
+ else{"moins;"}}
+ else{if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}
+ else{"nonDefBarre;"}+
+ if(evalf(fp(Z[r]+0.01))>0){"plus;"}
+ else{"moins;"}
+ }}
+ }};
+
+// fin modif
+
+
@@ -865,13 +881,8 @@ fclose(sortie);
\begin{VerbatimOut}{XcasTVapp.cxx}
-
-
-
-
-
TVapp(L,F,nom,nomv,f,ftt,nmr):={
-
+local nl,fp,z0,z,nz,S,k,j,m,kk,kok,Z,l0,lp,lf,lsp,k0,kz,lsi,r,ksp,lsf,lm0,li,krm,krp,lmrm,lmrp,lnz;
nl:=size(L);
f:=unapply(f,x);
@@ -881,23 +892,21 @@ nz:=size(z);
+S:=NULL;
-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;
- 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[1]==+infinity){j:=[seq(k,k=floor(L[0])..100)] 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{ j:=[seq(k,k=floor(z[0])..floor(z[nz-1]))] 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; }}};
-
-
-
-
+if(L==[-infinity,+infinity]){j:=[seq(-50+2*k,k=0..50)]minus F;
+ for k in j do for(m:=-5;m<=5;m++){S:=S,resoudre_numerique(fp(y),y,k+m*0.1,k+(m+1)*0.1,bisection_solver)};end_for}
+else{if(L[0]==-infinity){j:=[seq(2*k,k=-25..0.5*floor(L[1]))] minus F;
+ for k in j do for(m:=-5;m<=5;m++){ S:=S,resoudre_numerique(fp(y),y,k+m*0.1,k+(m+1)*0.1,bisection_solver)};end_for}
+else{if(L[1]==+infinity){
+j:=[seq(2*k,k=floor(0.5*L[0])..0.5*50)] minus F;
+ for k in j do for(m:=-5;m<=5;m++){ S:=S,resoudre_numerique(fp(y),y,k+m*0.1,k+(m+1)*0.1,bisection_solver)};end_for
+}
+else{ j:=[seq(2*k,k=0.5*floor(z[0])..0.5*floor(z[nz-1]))] minus F;
+ for k in j do for(m:=-5;m<=5;m++){S:=S,resoudre_numerique(fp(y),y,k+m*0.1,k+(m+1)*0.1,bisection_solver)};end_for }
+ }};
@@ -1609,15 +1618,25 @@ 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}
-else{if(L[0]==-infinity){j:=[seq(k,k=-100..floor(L[1]))] 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[1]==+infinity){j:=[seq(k,k=floor(L[0])..100)] 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{ j:=[seq(k,k=floor(z[0])..floor(z[nz-1]))] 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; }}};
+
+
+
+
+if(L==[-infinity,+infinity]){j:=[seq(-50+2*k,k=0..50)]minus F;
+ for k in j do for(m:=-5;m<=5;m++){S:=S,resoudre_numerique(fp(y),y,k+m*0.1,k+(m+1)*0.1,bisection_solver)};end_for}
+else{if(L[0]==-infinity){j:=[seq(2*k,k=-25..0.5*floor(L[1]))] minus F;
+ for k in j do for(m:=-5;m<=5;m++){ S:=S,resoudre_numerique(fp(y),y,k+m*0.1,k+(m+1)*0.1,bisection_solver)};end_for}
+else{if(L[1]==+infinity){
+j:=[seq(2*k,k=floor(0.5*L[0])..0.5*50)] minus F;
+ for k in j do for(m:=-5;m<=5;m++){ S:=S,resoudre_numerique(fp(y),y,k+m*0.1,k+(m+1)*0.1,bisection_solver)};end_for
+}
+else{ j:=[seq(2*k,k=0.5*floor(z[0])..0.5*floor(z[nz-1]))] minus F;
+ for k in j do for(m:=-5;m<=5;m++){S:=S,resoudre_numerique(fp(y),y,k+m*0.1,k+(m+1)*0.1,bisection_solver)};end_for }
+ }};
+
+
+
+
@@ -1880,7 +1899,7 @@ TVP(L,F,nom,nomv,ff,ftt,trigo,nmr):={
nl:=size(L);
fp:=[];
S:=[];
-f:=[unapply(ff[0],x),unapply(ff[1],x)];
+f:=[unapply(ff[0],t),unapply(ff[1],t)];
fp:=[function_diff(f[0]),function_diff(f[1])];
Z:=[];
LLL:=[];
@@ -2773,24 +2792,36 @@ fclose(sortie);
%%
%%
-% pour l'échelle des tableaux taper \ech{facteur de réduction}
+% pour l'échelle des tableaux taper \ech{facteur de réduction}
\newcommand\echelle{1}
\newcommand\ech[1]{\renewcommand\echelle{#1}}
-\newcommand{\dresse}[1]{%
+\newcommand\couleurtab{black}
+\newcommand\coultab[1]{\renewcommand\couleurtab{#1}}
+
+
+\newcommand{\dresse}[2]{%
\ifthenelse{\boolean{xcas}}{% Avec l'option "XCas present"
- \executGiacmp{XCas#1.giac}% reconstituer le tableau
+ \executGiacmp{XCas#2.giac}% reconstituer le tableau
% exporter le source mp
% puis lancer metapost pour creer
% l'image du tableau
\immediate\write18{\cat XCasmpfc.mp >> \nomtravail_Tab.mp}
- \immediate\write18{\cat enteteMP.cfg >> \nomtravail_Tab#1.mp}
- \immediate\write18{\cat XCasmpfc.mp >> \nomtravail_Tab#1.mp}
- \immediate\write18{\cat queue.mp >> \nomtravail_Tab#1.mp}
- \immediate\write18{mpost -jobname=\nomtravail_Tab \nomtravail_Tab#1.mp}
- \immediate\write18{\rem \nomtravail_Tab#1.mp}
+ \immediate\write18{\cat enteteMP.cfg >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod def beginTableau(expr c) =\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod begingroup\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod charcode:=c;\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod clearxy; clearit; clearpen;\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod pickup defaultpen;\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod drawoptions(withcolor(#1));\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod initTableau;\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod enddef;\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\cat XCasmpfc.mp >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\cat queue.mp >> \nomtravail_Tab#2.mp}
+ \immediate\write18{mpost -jobname=\nomtravail_Tab \nomtravail_Tab#2.mp}
+ \immediate\write18{\rem \nomtravail_Tab#2.mp}
}%
{% sinon, si le tableau est absent, alerte.
\IfFileExists{\nomtravail_Tab.\theTVn}{}{%
@@ -2813,12 +2844,12 @@ fclose(sortie);
-\newcommand{\dressetoile}[1]{%
+\newcommand{\dressetoile}[2]{%
\IfFileExists{\nomtravail_Tab.\theTVn}{% Test sur l'existence du tableau
% Si oui, inclusion du fichier source de sauvegarde mp dans Tableaux
\immediate\write18{\cat TSav-\theTVn.mp >> \nomtravail_Tab.mp}}
% Si non, lancement des operations de fabrication
-{\executGiacmp{XCas#1.giac}%
+{\executGiacmp{XCas#2.giac}%
\immediate\write18{\editeur XCasmpfc.mp }
% Modification avec l'editeur choisi
@@ -2826,17 +2857,25 @@ fclose(sortie);
\immediate\write18{\cp XCasmpfc.mp TSav-\theTVn.mp} % Sauvegarde du
% source mp sur le disque pour une
% inclusion ulterieure dans Tableaux.mp.
-\immediate\write18{\cat enteteMP.cfg >> \nomtravail_Tab#1.mp}
-\immediate\write18{\cat XCasmpfc.mp >> \nomtravail_Tab#1.mp}} % Inclusion du
+\immediate\write18{\cat enteteMP.cfg >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod def beginTableau(expr c) =\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod begingroup\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod charcode:=c;\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod clearxy; clearit; clearpen;\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod pickup defaultpen;\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod drawoptions(withcolor(#1));\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod initTableau;\echof >> \nomtravail_Tab#2.mp}
+ \immediate\write18{\echod enddef;\echof >> \nomtravail_Tab#2.mp}
+\immediate\write18{\cat XCasmpfc.mp >> \nomtravail_Tab#2.mp}} % Inclusion du
% source dans le
% fichier
% Tableaux
-\immediate\write18{\cat queue.mp >> \nomtravail_Tab#1.mp}
-\immediate\write18{mpost -jobname=\nomtravail_Tab \nomtravail_Tab#1.mp}% Reconstitution des tableaux
+\immediate\write18{\cat queue.mp >> \nomtravail_Tab#2.mp}
+\immediate\write18{mpost -jobname=\nomtravail_Tab \nomtravail_Tab#2.mp}% Reconstitution des tableaux
% et creation du dernier. L'option
% pallie l'absence de end en fin de
% fichier
-\immediate\write18{\rem \nomtravail_Tab#1.mp}
+\immediate\write18{\rem \nomtravail_Tab#2.mp}
\begin{center}
\includegraphics[scale=\echelle]{\nomtravail_Tab.\theTVn}
@@ -2874,7 +2913,7 @@ read("XCasa.user");
\newenvironment{TSa}
{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasa.user}}
{\end{VerbatimOut}
- \dresse{a}
+ \dresse{\couleurtab}{a}
}
@@ -2895,7 +2934,7 @@ read("XCasQ.user");
\newenvironment{TSq}%
{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasQ.user}}
-{\end{VerbatimOut}\dresse{Q}}
+{\end{VerbatimOut}\dresse{\couleurtab}{Q}}
@@ -2903,7 +2942,7 @@ read("XCasQ.user");
{\setcounter{TVnbis}{\theTVn}
\setcounter{TVn}{#1}
\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasQ.user}}
-{\end{VerbatimOut}\dressetoile{Q}}
+{\end{VerbatimOut}\dressetoile{\couleurtab}{Q}}
\begin{VerbatimOut}{XCasL.giac}
@@ -2916,14 +2955,14 @@ read("XCasL.user");
\newenvironment{TS}%
{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasL.user}}
-{\end{VerbatimOut}\dresse{L}}
+{\end{VerbatimOut}\dresse{\couleurtab}{L}}
\newenvironment{TS*}[1]
{\setcounter{TVnbis}{\theTVn}
\setcounter{TVn}{#1}
\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasL.user}}
-{\end{VerbatimOut}\dressetoile{L}}
+{\end{VerbatimOut}\dressetoile{\couleurtab}{L}}
\begin{VerbatimOut}{XCasTSc.giac}
@@ -2941,12 +2980,12 @@ read("XCasTSc.user");
{\setcounter{TVnbis}{\theTVn}
\setcounter{TVn}{#1}
\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTSc.user}}
-{\end{VerbatimOut}\dressetoile{TSc}}
+{\end{VerbatimOut}\dressetoile{\couleurtab}{TSc}}
\newenvironment{TSc}%
{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTSc.user}}
-{\end{VerbatimOut}\dresse{TSc}}
+{\end{VerbatimOut}\dresse{\couleurtab}{TSc}}
\begin{VerbatimOut}{XCasTV.giac}
@@ -2957,16 +2996,19 @@ read("XcasTV.cxx");
read("XCasTV.user");
\end{VerbatimOut}
-\newenvironment{TV}%
-{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTV.user}}%
+
+
+\newenvironment{TV}{%
+\VerbatimEnvironment
+\begin{VerbatimOut}[commandchars=\\??]{XCasTV.user}}%
{\end{VerbatimOut}
-\dresse{TV}}
+\dresse{\couleurtab}{TV}}
\newenvironment{TV*}[1]{%
\setcounter{TVnbis}{\theTVn}
\setcounter{TVn}{#1}
\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTV.user}}%
-{\end{VerbatimOut}\dressetoile{TV}}
+{\end{VerbatimOut}\dressetoile{\couleurtab}{TV}}
@@ -2985,13 +3027,13 @@ read("XCasTVP.user");
\newenvironment{TVP}%
{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVP.user}}%
{\end{VerbatimOut}
-\dresse{TVP}}
+\dresse{\couleurtab}{TVP}}
\newenvironment{TVP*}[1]{%
\setcounter{TVnbis}{\theTVn}
\setcounter{TVn}{#1}
\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVP.user}}%
-{\end{VerbatimOut}\dressetoile{TVP}}
+{\end{VerbatimOut}\dressetoile{\couleurtab}{TVP}}
@@ -3013,15 +3055,13 @@ read("XCasTVZ.user");
\newenvironment{TVZ}%
{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVZ.user}}%
{\end{VerbatimOut}
-\dresse{TVZ}}
+\dresse{\couleurtab}{TVZ}}
\newenvironment{TVZ*}[1]{%
\setcounter{TVnbis}{\theTVn}
\setcounter{TVn}{#1}
\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVZ.user}}%
-{\end{VerbatimOut}\dressetoile{TVZ}}
-
-
+{\end{VerbatimOut}\dressetoile{\couleurtab}{TVZ}}
@@ -3041,13 +3081,13 @@ read("XCasTVapp.user");
\newenvironment{TVapp}%
{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVapp.user}}%
{\end{VerbatimOut}
-\dresse{TVapp}}
+\dresse{\couleurtab}{TVapp}}
\newenvironment{TVapp*}[1]{%
\setcounter{TVnbis}{\theTVn}
\setcounter{TVn}{#1}
\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVapp.user}}%
-{\end{VerbatimOut}\dressetoile{TVapp}}
+{\end{VerbatimOut}\dressetoile{\couleurtab}{TVapp}}
@@ -3069,14 +3109,14 @@ read("XCasTVI.user");
\newenvironment{TVI}%
{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVI.user}}%
-{\end{VerbatimOut}\dresse{TVI}}
+{\end{VerbatimOut}\dresse{\couleurtab}{TVI}}
\newenvironment{TVI*}[1]%
{\setcounter{TVnbis}{\theTVn}
\setcounter{TVn}{#1}
\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVI.user}}%
-{\end{VerbatimOut}\dressetoile{TVI}}
+{\end{VerbatimOut}\dressetoile{\couleurtab}{TVI}}
@@ -3092,14 +3132,14 @@ read("XCasTVIex.user");
\newenvironment{TVIex}%
{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVIex.user}}%
-{\end{VerbatimOut}\dresse{TVIex}}
+{\end{VerbatimOut}\dresse{\couleurtab}{TVIex}}
\newenvironment{TVIex*}[1]%
{\setcounter{TVnbis}{\theTVn}
\setcounter{TVn}{#1}
\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVIex.user}}%
-{\end{VerbatimOut}\dressetoile{TVIex}}
+{\end{VerbatimOut}\dressetoile{\couleurtab}{TVIex}}
@@ -3119,14 +3159,14 @@ read("XCasTVIapp.user");
\newenvironment{TVIapp}%
{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVIapp.user}}%
-{\end{VerbatimOut}\dresse{TVIapp}}
+{\end{VerbatimOut}\dresse{\couleurtab}{TVIapp}}
\newenvironment{TVIapp*}[1]%
{\setcounter{TVnbis}{\theTVn}
\setcounter{TVn}{#1}
\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVIapp.user}}%
-{\end{VerbatimOut}\dressetoile{TVIapp}}
+{\end{VerbatimOut}\dressetoile{\couleurtab}{TVIapp}}
@@ -3143,13 +3183,13 @@ read("XCasTVPC.user");
\newenvironment{TVPC}%
{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVPC.user}}%
{\end{VerbatimOut}
-\dresse{TVPC}}
+\dresse{\couleurtab}{TVPC}}
\newenvironment{TVPC*}[1]{%
\setcounter{TVnbis}{\theTVn}
\setcounter{TVn}{#1}
\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVPC.user}}%
-{\end{VerbatimOut}\dressetoile{TVPC}}
+{\end{VerbatimOut}\dressetoile{\couleurtab}{TVPC}}
@@ -3173,13 +3213,13 @@ read("XCasTVS.user");
\newenvironment{TVS}%
{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVS.user}}%
{\end{VerbatimOut}
-\dresse{TVS}}
+\dresse{\couleurtab}{TVS}}
\newenvironment{TVS*}[1]{%
\setcounter{TVnbis}{\theTVn}
\setcounter{TVn}{#1}
\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVS.user}}%
-{\end{VerbatimOut}\dressetoile{TVS}}
+{\end{VerbatimOut}\dressetoile{\couleurtab}{TVS}}