diff options
author | Karl Berry <karl@freefriends.org> | 2010-05-14 18:27:55 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-05-14 18:27:55 +0000 |
commit | f62ddee209e4738d7178b9c7be4238df44593a8c (patch) | |
tree | 0599b68179278154ec762966e0ac5ab668164a95 /Master/texmf-dist/tex/latex/tablor | |
parent | 796f1a22ebec723341de97da1835bfeef05d79be (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.sty | 238 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tablor/tablor.sty | 224 |
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}} |