diff options
author | Karl Berry <karl@freefriends.org> | 2008-02-21 18:12:00 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-02-21 18:12:00 +0000 |
commit | a691030f2a8c6493f60ec90ef9fcc2751ed85ee6 (patch) | |
tree | f151405c4f5173f48f713fb9e18904e14d17dc7b /Master/texmf-dist/tex/latex/tablor/tablor.sty | |
parent | f1deab4464e3af2576a3d41b7b0944324c15fc14 (diff) |
tablor update (19feb08)
git-svn-id: svn://tug.org/texlive/trunk@6704 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.sty | 741 |
1 files changed, 553 insertions, 188 deletions
diff --git a/Master/texmf-dist/tex/latex/tablor/tablor.sty b/Master/texmf-dist/tex/latex/tablor/tablor.sty index e6e687caf78..d83cf27ab00 100644 --- a/Master/texmf-dist/tex/latex/tablor/tablor.sty +++ b/Master/texmf-dist/tex/latex/tablor/tablor.sty @@ -1,9 +1,9 @@ \NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{tablor} - [02/02/2008 v1.5 - la machine à créer des tableaux de signes et variations] +\ProvidesPackage{tablor}[19/02/2008 v1.7 la machine à créer des tableaux de signes et variations] +% \copyleft Connan le Barbare \copyright +% avec l'efficace participation de Jean-Michel Boucart %% Crée 10 environnements : @@ -43,32 +43,171 @@ -\newcommand{\nettoyer}{ -\immediate\write18{rm XCasmp.mp* XCasmp.log XCasmp?.mp* XCasmp?.log XCasmpTV.mp* XCasmpTV.log *.user XCasmpTVI.mp* XCasmpTVI.log - *.giac *.cxx *mpx* *~}} +%% extensions requises +%% Il faudra rajouter dans le préambule \usepackage{graphicx} si vous +%% ne l'avez pas de base -\newcommand{\bouger}[1]{ -\immediate\write18{cp XCas* #1}} +\RequirePackage{ifthen} +\RequirePackage{fancyvrb} +\RequirePackage{ifpdf} -\newcommand{\recup}[2]{ -\immediate\write18{cp #1 #2}} +%% liste des options : os et éditeur rapide +\newboolean{xcas}\setboolean{xcas}{false} +\newboolean{linux}\setboolean{linux}{false} +\newboolean{windows}\setboolean{windows}{false} +\newboolean{macosx}\setboolean{macosx}{false} +\newboolean{emacs}\setboolean{emacs}{false} +\newboolean{xemacs}\setboolean{xemacs}{false} +\newboolean{texmaker}\setboolean{texmaker}{false} +\newboolean{vi}\setboolean{vi}{false} +\newboolean{winshell}\setboolean{winshell}{false} +\newboolean{notepad}\setboolean{notepad}{false} +\newboolean{vim}\setboolean{vim}{false} +\newboolean{kate}\setboolean{kate}{false} +\newboolean{gedit}\setboolean{gedit}{false} +\newboolean{textmate}\setboolean{textmate}{false} +\newboolean{texshop}\setboolean{texshop}{false} -\newcounter{TVn} +\DeclareOption{xcas}{\setboolean{xcas}{true}} +\DeclareOption{linux}{\setboolean{linux}{true}} +\DeclareOption{windows}{\setboolean{windows}{true}} +\DeclareOption{mac}{\setboolean{macosx}{true}} +\DeclareOption{emacs}{\setboolean{emacs}{true}} +\DeclareOption{xemacs}{\setboolean{xemacs}{true}} +\DeclareOption{texmaker}{\setboolean{texmaker}{true}} +\DeclareOption{vi}{\setboolean{vi}{true}} +\DeclareOption{winshell}{\setboolean{winshell}{true}} +\DeclareOption{notepad}{\setboolean{notepad}{true}} +\DeclareOption{vim}{\setboolean{vim}{true}} +\DeclareOption{kate}{\setboolean{kate}{true}} +\DeclareOption{gedit}{\setboolean{gedit}{true}} +\DeclareOption{textmate}{\setboolean{textmate}{true}} +\DeclareOption{texshop}{\setboolean{texshop}{true}} + + +%% on peut configurer tablor dans un fichier extérieur + +\IfFileExists{tablor.cfg}{\input{tablor.cfg}}{\typeout{pas de fichier tablor.cfg}} + +\ProcessOptions\relax + +%% pour ceux compilant via pdflatex + +\ifpdf +\DeclareGraphicsRule{*}{mps}{*}{} +\fi +%% pour nettoyer les fichiers auxiliaires + +\AtEndDocument{\ifthenelse{\boolean{windows}}% +{\immediate\write18{DEL tete.* *.user XCas*.* Xcas*.* *.mpx} } % +{\immediate\write18{rm tete.* *.user XCas* Xcas* *.mpx} }} + + + +%% En-tête pour le fichier metapost contenant les codes +%% de tous les tableaux produits + + \begin{VerbatimOut}{tete.mp} + input tableauVariation; + verbatimtex +%&latex + \documentclass{article} + \usepackage[upright]{fourier} + \usepackage{amsmath} + \newcommand{\Mathbold}[1]{\mbox{\boldmath$#1$\unboldmath}} + \begin{document} + etex + + \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 + + +\newcommand{\nettoyer}[1][\jobname]% +{\ifthenelse{\boolean{windows}}% +{\immediate\write18{DEL #1.Tab.log} +\immediate\write18{echo end >> #1.Tab.mp}}% +{\immediate\write18{rm #1.Tab.log} +\immediate\write18{echo end >> #1.Tab.mp} +} +} + +%% Donne comme prefixe aux tableaux le prefixe courant +%% Peut-être modifié par \initablor + +\newcommand{\Tableaux}{\jobname} + +%% initialise les compteurs + +\newcounter{TVn} \newcommand{\tv}{\theTVn} -\usepackage{fancyvrb} -%\usepackage[upright]{fourier} +\newcounter{TVnbis} +\newcommand{\tvbis}{\theTVnbis} + + +%% permet de donner un prefixe aux tableaux produits (\jobname par défaut) +%% effectue quelques vérifications : + + +\newcommand{\initablor}[1][\jobname]{% +\renewcommand{\Tableaux}{#1}% Arret du nom des tableaux +\setcounter{TVn}{0}% Initialisation du compteur de tableaux. +\ifthenelse{\boolean{xcas}}% Avec l'option XCas +{\IfFileExists{\Tableaux.Tab.mp}% Si Tableaux.mp est présent... + {\ifthenelse{\boolean{windows}} + {\immediate\write18{DEL \Tableaux.Tab.mp}}% le détruire + {\immediate\write18{rm \Tableaux.Tab.mp}}}% + {}% + +\ifthenelse{\boolean{windows}} + {\immediate\write18{COPY -f tete.mp \Tableaux.Tab.mp}}% Reconstituer + % l'entête de Tableaux.mp + {\immediate\write18{cp -f tete.mp \Tableaux.Tab.mp}}} +{\IfFileExists{\Tableaux.Tab.mp}% Sans l'option XCas, si Tableaux.mp existe + {\immediate\write18{mpost -interaction=batchmode \Tableaux.Tab}}% l'exécuter 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 présents ) +}}% + + + +%% commande pour lancer giac selon l'OS \makeatletter -\newcommand{\executGiacmp}[1]{ -\immediate\write18{giac <#1 } } +\newcommand{\executGiacmp}[1]{% +\ifthenelse{\boolean{windows}}% +{\immediate\write18{giac #1 }}% +{\immediate\write18{giac <#1 }}} \makeatother + + +%%% +% +%%% LES SCRIPTS GIAC/XCAS +% +%%% + + + + + + + +%% +%% Code giac/Xcas pour les Tableaux de Variations +%% + + \begin{VerbatimOut}{XcasTV.cxx} TV(L,F,nom,nomv,f,ftt,nmr):={ nl:=size(L); @@ -144,7 +283,7 @@ intro:="input tableauVariation; \\usepackage{amsmath} \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} \\begin{document} - etex + etex; " @@ -152,7 +291,8 @@ intro:="input tableauVariation; MetaL:=if(ftt==2){if(nz>2){intro+"beginTableau("+nmr+")"+ l0+lsi+lsp+lsf+" endTableau; -end";}else{ +end +";}else{ intro+"beginTableau("+nmr+")"+ l0+ lsi+lsf+" @@ -191,12 +331,79 @@ 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} + + + +%% +%% Code giac/Xcas pour les Tableaux de Variations avec +%% Valeurs intermédiaires +%% + + -\end{VerbatimOut} \begin{VerbatimOut}{XcasTVI.cxx} @@ -342,7 +549,7 @@ verbatimtex \\usepackage{amsmath} \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} \\begin{document} - etex + etex; "; @@ -390,18 +597,74 @@ endTableau; end";} }}; -return(MetaL); - }:; +MetaLfc:= if(ftt==2){if(nz>2){"beginTableau("+nmr+")"+ + l0+lsi+lsp+lsf+" +endTableau; +";}else{ +"beginTableau("+nmr+")"+ + l0+ +lsi+lsf+" +endTableau; -\end{VerbatimOut} +"; +} +}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} +%% +%% Code giac/Xcas pour les Tableaux de signes de produits +%% @@ -452,8 +715,9 @@ MetaL:=" input tableauVariation; \\usepackage{amsmath} \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} \\begin{document} - etex - beginTableau("+nmr+") + etex; + +beginTableau("+nmr+") newLigneVariables(btex $\\Mathbold{x}$ etex); "+l0+li+ " @@ -467,11 +731,24 @@ newLigneVariables(btex $\\Mathbold{x}$ etex); endTableau; end" ; -}else{ - +MetaLfc:=" 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; +" +; +}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); @@ -513,7 +790,7 @@ MetaL:=" input tableauVariation; \\usepackage{amsmath} \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} \\begin{document} - etex + etex; beginTableau("+nmr+") newLigneVariables(btex $\\Mathbold{x}$ etex); "+l0+ @@ -532,7 +809,30 @@ newLigneVariables(btex $\\Mathbold{x}$ etex); "}+" endTableau; end" -;} +; +MetaLfc:=" 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{" + "}+ + 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]+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; + + "; +} +sortie:=fopen("XCasmpfc.mp"); +fprint(sortie,Unquoted,MetaLfc); +fclose(sortie); return(MetaL); }:; @@ -541,8 +841,9 @@ return(MetaL); - - +%% +%% Code giac/Xcas pour les Tableaux de signes de quotients +%% @@ -615,7 +916,7 @@ MetaL:=" input tableauVariation; \\usepackage{amsmath} \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} \\begin{document} - etex + etex; beginTableau("+nmr+") newLigneVariables(btex $\\Mathbold{x}$ etex); @@ -631,6 +932,30 @@ newLigneVariables(btex $\\Mathbold{x}$ etex); endTableau; end" ; + + + + +MetaLfc:=" +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; + +" +; + + + + }else{ @@ -675,7 +1000,7 @@ verbatimtex \\usepackage{amsmath} \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} \\begin{document} - etex + etex; beginTableau("+nmr+") newLigneVariables(btex $\\Mathbold{x}$ etex); "+l0+ @@ -694,12 +1019,61 @@ newLigneVariables(btex $\\Mathbold{x}$ etex); valBarre(btex 0 etex);"}else{" "}}else{"nonDefBarre;"}+" endTableau; end" -;} +; + + + + +MetaLfc:=" +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;"}+ + 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; + +" + + +} + + + + +sortie:=fopen("XCasmpfc.mp"); +fprint(sortie,Unquoted,MetaLfc); +fclose(sortie); + + + + + return(MetaL); }:; \end{VerbatimOut} + + + +%% Code giac/Xcas pour les Tableaux de signes du produit +%% de 2 facteurs affines +%% + + + + \begin{VerbatimOut}{XcasTabSign.cxx} TSa(a,b,c,d,nmr):={ zA:=resoudre(a*x+b=0,x)[0]; @@ -714,7 +1088,7 @@ zmax:=max(zA,zB); \\usepackage{amsmath} \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} \\begin{document} - etex + etex; beginTableau("+nmr+") newLigneVariables(btex $\\Mathbold{x}$ etex); val(btex $-\\infty$ etex);val(btex $"+latex(zmin)+"$ etex); @@ -755,11 +1129,9 @@ return(Meta); - - - - - +%% +%% Code giac/Xcas pour les Tableaux de Signes d'expression ne contenant +%% qu'un seul terme @@ -825,7 +1197,7 @@ MetaL:=" input tableauVariation; \\usepackage{amsmath} \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} \\begin{document} - etex + etex; beginTableau("+nmr+") newLigneVariables(btex $\\Mathbold{x}$ etex); "+l0+" @@ -835,6 +1207,31 @@ newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\displaystyle \\Mathbold{"+la endTableau; end" ; + + +MetaLfc:=" + +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; + +" +; + + + + +sortie:=fopen("XCasmpfc.mp"); +fprint(sortie,Unquoted,MetaLfc); +fclose(sortie); + + + + return(MetaL); }:; \end{VerbatimOut} @@ -845,24 +1242,103 @@ return(MetaL); +%% +%% +%% traitement des fichiers produits par giac/xcas +%% +%% -%%% les "giac" +\newcommand{\dresse}[1]{% +\ifthenelse{\boolean{xcas}}{% Avec l'option "XCas présent" + \executGiacmp{XCas#1.giac}% reconstituer le tableau + % exporter le source mp + \ifthenelse{\boolean{windows}}% + {\immediate\write18{TYPE XCasmpfc.mp >> \Tableaux.Tab.mp}}% + {\immediate\write18{cat XCasmpfc.mp >> \Tableaux.Tab.mp}}% + \immediate\write18{mpost -interaction=batchmode -jobname=\Tableaux.Tab XCasmp#1}}% + {% sinon, si le tableau est absent, alerte. + \IfFileExists{\Tableaux.Tab.\theTVn}{}{% + \PackageError{tablor}{Tableau absent non + reconstituable.}{Pour compiler il faut, soit les fichiers de + tableaux, soit le fichier \Tableaux.Tab.mp, soit disposer de + XCas.}}} + +\begin{center} + \includegraphics{\Tableaux.Tab.\theTVn} +\end{center} +\stepcounter{TVn}} +%% +%% traitement des fichiers produits par giac/xcas avec possibilité +%% de modifier le fichier metapost (environnement étoilé)) +%% +\newcommand{\dressetoile}[1]{% +\IfFileExists{\Tableaux.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 >> \Tableaux.Tab.mp}} +% Si non, lancement des opérations de fabrication +{\executGiacmp{XCas#1.giac}% + \ifthenelse{\boolean{emacs}}{\immediate\write18{emacs XCasmpfc.mp}}{} + \ifthenelse{\boolean{xemacs}}{\immediate\write18{xemacs XCasmpfc.mp}}{} + \ifthenelse{\boolean{texmaker}}{\immediate\write18{texmaker XCasmpfc.mp}}{} + \ifthenelse{\boolean{vi}}{\immediate\write18{vi XCasmpfc.mp}}{} + \ifthenelse{\boolean{winshell}}{\immediate\write18{winshell XCasmpfc.mp}}{} + \ifthenelse{\boolean{notepad}}{\immediate\write18{notepad XCasmpfc.mp}}{} + \ifthenelse{\boolean{vim}}{\immediate\write18{vim XCasmpfc.mp}}{} + \ifthenelse{\boolean{kate}}{\immediate\write18{kate XCasmpfc.mp}}{} + \ifthenelse{\boolean{gedit}}{\immediate\write18{gedit XCasmpfc.mp}}{} + \ifthenelse{\boolean{textmate}}{\immediate\write18{textmate XCasmpfc.mp}}{} + \ifthenelse{\boolean{texshop}}{\immediate\write18{texshop XCasmpfc.mp}}{} + % Modification avec l'éditeur choisi + + \ifthenelse{\boolean{windows}}% + {\immediate\write18{cp -f XCasmpfc.mp TSav-\theTVn.mp} + \immediate\write18{cat XCasmpfc.mp >> \Tableaux.Tab.mp}}% + {\immediate\write18{cp -f XCasmpfc.mp TSav-\theTVn.mp} % Sauvegarde du + % source mp sur le disque pour une + % inclusion ultérieure dans Tableaux.mp. + \immediate\write18{cat XCasmpfc.mp >> \Tableaux.Tab.mp}} % Inclusion du + % source dans le + % fichier + % Tableaux + \immediate\write18{mpost -interaction=batchmode \Tableaux.Tab}}% Reconstitution des tableaux + % et création du dernier. L'option + % pallie l'absence de end en fin de + % fichier +\begin{center} + \includegraphics{\Tableaux.Tab.\theTVn} +\end{center} + +\setcounter{TVn}{\theTVnbis} % Restauration du compteur TVn +} + +%% +%% +%%% +%%% +%%% les "giac" qui permettent d'exécuter la commande rentrée dans le fichier tex +%%% suivis des environnements qui permettront la saisie du code giac/xcas +%%% Les versions étoilées permettent de modifier le code metapost produit initialement +%%% + + + + \begin{VerbatimOut}{XCas.giac} maple_mode(0); read("XcasTabSign.cxx"); @@ -880,15 +1356,7 @@ fclose(Sortie); \newenvironment{TSa} {\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCas.user}} -{\end{VerbatimOut} - \executGiacmp{XCas.giac} - - \immediate\write18{mpost XCasmp} - -\begin{center} - \includegraphics{XCasmp.\theTVn} -\end{center} -\stepcounter{TVn} +{\end{VerbatimOut}\dresse{} } @@ -914,41 +1382,17 @@ fprint(Sortie,Unquoted,Resultat); fclose(Sortie); \end{VerbatimOut} -\newenvironment{TSq} +\newenvironment{TSq}% {\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasQ.user}} -{\end{VerbatimOut} - \executGiacmp{XCasQ.giac} - - \immediate\write18{mpost XCasmpQ} - -\begin{center} - \includegraphics{XCasmpQ.\theTVn} -\end{center} -\stepcounter{TVn} -} - - - -\newenvironment{TSq*} -{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasQ.user}} -{\end{VerbatimOut} - \executGiacmp{XCasQ.giac} - - - - -\immediate\write18{texmaker XCasmpQ.mp} - - \immediate\write18{mpost XCasmpQ} - -\begin{center} - \includegraphics{XCasmpQ.\theTVn} -\end{center} -\stepcounter{TVn} -} +{\end{VerbatimOut}\dresse{Q}} +\newenvironment{TSq*}[1]% +{\setcounter{TVnbis}{\theTVn} +\setcounter{TVn}{#1} +\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasQ.user}} +{\end{VerbatimOut}\dressetoile{Q}} \begin{VerbatimOut}{XCasL.giac} @@ -966,39 +1410,16 @@ fprint(Sortie,Unquoted,Resultat); fclose(Sortie); \end{VerbatimOut} -\newenvironment{TS} +\newenvironment{TS}% {\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasL.user}} -{\end{VerbatimOut} - \executGiacmp{XCasL.giac} - - \immediate\write18{mpost XCasmpL} - -\begin{center} - \includegraphics{XCasmpL.\theTVn} -\end{center} -\stepcounter{TVn} -} - - - -\newenvironment{TS*} -{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasL.user}} -{\end{VerbatimOut} - \executGiacmp{XCasL.giac} - -\immediate\write18{texmaker XCasmpL.mp} - - \immediate\write18{mpost XCasmpL} - -\begin{center} - \includegraphics{XCasmpL.\theTVn} -\end{center} -\stepcounter{TVn} -} - - +{\end{VerbatimOut}\dresse{L}} +\newenvironment{TS*}[1] +{\setcounter{TVnbis}{\theTVn} +\setcounter{TVn}{#1} +\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasL.user}} +{\end{VerbatimOut}\dressetoile{L}} \begin{VerbatimOut}{XCasTSc.giac} @@ -1016,44 +1437,19 @@ fprint(Sortie,Unquoted,Resultat); fclose(Sortie); \end{VerbatimOut} -\newenvironment{TSc*} -{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasTSc.user}} -{\end{VerbatimOut} - \executGiacmp{XCasTSc.giac} - -\immediate\write18{texmaker XCasmpTSc.mp} - \immediate\write18{mpost XCasmpTSc} -\begin{center} - \includegraphics{XCasmpTSc.\theTVn} -\end{center} -\stepcounter{TVn} -} +\newenvironment{TSc*}[1]% +{\setcounter{TVnbis}{\theTVn} +\setcounter{TVn}{#1} +\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasTSc.user}} +{\end{VerbatimOut}\dressetoile{TSc}} - - - - -\newenvironment{TSc} +\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} -} - - - - - +{\end{VerbatimOut}\dresse{TSc}} \begin{VerbatimOut}{XCasTV.giac} @@ -1073,32 +1469,14 @@ fclose(Sortie); \newenvironment{TV}% {\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasTV.user}}% -{\end{VerbatimOut}% - \executGiacmp{XCasTV.giac} - \immediate\write18{mpost XCasmpTV} -\begin{center} - \includegraphics{XCasmpTV.\theTVn} -\end{center} -\stepcounter{TVn} -} - - - - -\newenvironment{TV*}% -{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasTV.user}}% -{\end{VerbatimOut}% - \executGiacmp{XCasTV.giac} - -\immediate\write18{texmaker XCasmpTV.mp} - - \immediate\write18{mpost XCasmpTV} -\begin{center} - \includegraphics{XCasmpTV.\theTVn} -\end{center} -\stepcounter{TVn} -} +{\end{VerbatimOut} +\dresse{TV}} +\newenvironment{TV*}[1]{% +\setcounter{TVnbis}{\theTVn} +\setcounter{TVn}{#1} +\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasTV.user}}% +{\end{VerbatimOut}\dressetoile{TV}} \begin{VerbatimOut}{XCasTVI.giac} @@ -1118,35 +1496,22 @@ fclose(Sortie); \newenvironment{TVI}% {\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasTVI.user}}% -{\end{VerbatimOut}% - \executGiacmp{XCasTVI.giac} - \immediate\write18{mpost XCasmpTVI} -\begin{center} - \includegraphics{XCasmpTVI.\theTVn} -\end{center} +{\end{VerbatimOut}\dresse{TVI}} -\stepcounter{TVn} -} -\newenvironment{TVI*}% -{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasTVI.user}}% -{\end{VerbatimOut}% - \executGiacmp{XCasTVI.giac} +\newenvironment{TVI*}[1]% +{\setcounter{TVnbis}{\theTVn} +\setcounter{TVn}{#1} +\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\£µ]{XCasTVI.user}}% +{\end{VerbatimOut}\dressetoile{TVI}} -\immediate\write18{texmaker XCasmpTVI.mp} - \immediate\write18{mpost XCasmpTVI} -\begin{center} - \includegraphics{XCasmpTVI.\theTVn} -\end{center} -\stepcounter{TVn} -} %% -%% Zi end +%% Zi end -> enjoy :) |