diff options
author | Karl Berry <karl@freefriends.org> | 2008-11-08 00:56:43 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-11-08 00:56:43 +0000 |
commit | 806118c270bcbba9a03291c433c3e7abcb3da6e3 (patch) | |
tree | 2fb7199d70ea282f55834cc7d79c3844e2cc97c0 /Master/texmf-dist/doc/latex/tablor | |
parent | 60d6cf727517e33f5585112b4b07c808e3f59664 (diff) |
tablor update (7nov08)
git-svn-id: svn://tug.org/texlive/trunk@11218 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/tablor')
-rw-r--r-- | Master/texmf-dist/doc/latex/tablor/tablor.html | 1020 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/tablor/tablor.pdf | bin | 351735 -> 357308 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/tablor/tablor.tex | 207 |
3 files changed, 643 insertions, 584 deletions
diff --git a/Master/texmf-dist/doc/latex/tablor/tablor.html b/Master/texmf-dist/doc/latex/tablor/tablor.html index 7854e0762b3..fa685f22e01 100644 --- a/Master/texmf-dist/doc/latex/tablor/tablor.html +++ b/Master/texmf-dist/doc/latex/tablor/tablor.html @@ -31,12 +31,6 @@ font-weight: bold; text-decoration: underline; } - .flyspell-incorrect { - /* flyspell-incorrect-face */ - color: #ff4500; - font-weight: bold; - text-decoration: underline; - } .font-latex-math { /* font-latex-math-face */ color: #436eee; @@ -87,15 +81,15 @@ <body> <pre> <span class="font-latex-sedate">\NeedsTeXFormat</span>{LaTeX2e}[1995/12/01] -<span class="font-latex-sedate">\ProvidesPackage</span>{<span class="flyspell-duplicate">tablor</span>}[21/10/2008 v4.02 la machine a creer des tableaux de signes et variations] +<span class="font-latex-sedate">\ProvidesPackage</span>{<span class="flyspell-duplicate">tablor</span>}[07/11/2008 v4.02 la machine a creer des tableaux de signes et variations] <span class="comment-delimiter">% </span><span class="font-latex-sedate"><span class="comment">\copyleft</span></span><span class="comment"> Connan le Barbare (aka Guillaume Connan) </span><span class="font-latex-sedate"><span class="comment">\copyright</span></span><span class="comment"> </span><span class="comment-delimiter">% </span><span class="comment">This work may be distributed and/or mofified under the conditions </span><span class="comment-delimiter">% </span><span class="comment">or the LaTeX Project Public Licence, either v1.3 or (at your option) -</span><span class="comment-delimiter">% </span><span class="comment">any later version. </span><span class="comment"><span class="flyspell-incorrect">The</span></span><span class="comment"> latest version is in +</span><span class="comment-delimiter">% </span><span class="comment">any later version. The latest version is in </span><span class="comment-delimiter">% </span><span class="comment">http://www.latex-project.org/lppl/ -</span><span class="comment-delimiter">% </span><span class="comment">This work consists of the files tablor.</span><span class="comment"><span class="flyspell-incorrect">sty</span></span><span class="comment">, </span><span class="comment"><span class="flyspell-incorrect">tablor-xetex</span></span><span class="comment">.</span><span class="comment"><span class="flyspell-duplicate">sty</span></span><span class="comment">, tablor.cfg, tablor.tex, -</span><span class="comment-delimiter">% </span><span class="comment">tablor.pdf and tablor.</span><span class="comment"><span class="flyspell-incorrect">html</span></span><span class="comment"> +</span><span class="comment-delimiter">% </span><span class="comment">This work consists of the files tablor.sty, tablor-xetex.sty, tablor.cfg, tablor.tex, +</span><span class="comment-delimiter">% </span><span class="comment">tablor.pdf and tablor.html </span> <span class="comment-delimiter">%% </span><span class="comment">Cree 16 environnements : @@ -117,7 +111,7 @@ </span><span class="comment-delimiter">%</span><span class="comment"> </span><span class="comment-delimiter">% </span><span class="comment">pour les tableaux de signes à une seule ligne </span><span class="comment-delimiter">% </span><span class="font-latex-sedate"><span class="comment">\begin</span></span><span class="comment">{TSc} -</span><span class="comment-delimiter">% </span><span class="comment"><span class="flyspell-duplicate">TSc</span></span><span class="comment">((x+10)/((x-5)*(x-2)),[-10,5],[2,5],n,0) +</span><span class="comment-delimiter">% </span><span class="comment">TSc((x+10)/((x-5)*(x-2)),[-10,5],[2,5],n,0) </span><span class="comment-delimiter">% </span><span class="font-latex-sedate"><span class="comment">\end</span></span><span class="comment">{TSc} </span><span class="comment-delimiter">%</span><span class="comment"> </span><span class="comment-delimiter">%</span><span class="comment"> @@ -154,7 +148,7 @@ </span><span class="comment-delimiter">% </span><span class="comment">fichier metapost pour le modifier </span><span class="comment-delimiter">%</span><span class="comment"> </span><span class="comment-delimiter">%</span><span class="comment"> -</span><span class="comment-delimiter">% </span><span class="comment">Courbes </span><span class="comment"><span class="flyspell-duplicate">parametrees</span></span><span class="comment"> +</span><span class="comment-delimiter">% </span><span class="comment">Courbes parametrees </span><span class="comment-delimiter">% </span><span class="font-latex-sedate"><span class="comment">\begin</span></span><span class="comment">{TVP} </span><span class="comment-delimiter">% </span><span class="comment">TVP([-infinity,+infinity],[[-1,2],[-1]],["x","y"],"t",[t^2/((t+1)*(t-2)),t^2*(t+2)/(t+1)],1,n,</span><span class="font-latex-sedate"><span class="comment">\tv</span></span><span class="comment">) </span><span class="comment-delimiter">% </span><span class="font-latex-sedate"><span class="comment">\end</span></span><span class="comment">{TVP} @@ -165,8 +159,8 @@ </span><span class="comment-delimiter">% </span><span class="font-latex-sedate"><span class="comment">\end</span></span><span class="comment">{TVP} </span><span class="comment-delimiter">% </span><span class="comment">% </span> -<span class="comment-delimiter">% </span><span class="comment">Fonctions </span><span class="comment"><span class="flyspell-incorrect">prolongeables</span></span><span class="comment"> par continuité -</span><span class="comment-delimiter">% </span><span class="comment"><span class="flyspell-duplicate">TVPC</span></span><span class="comment">([intervalles d'étude],[valeurs </span><span class="comment"><span class="flyspell-duplicate">prolongeables</span></span><span class="comment">],[valeurs interdites pour f'],"g","t",e^(-1/x^2),1,n,</span><span class="font-latex-sedate"><span class="comment">\tv</span></span><span class="comment">); +<span class="comment-delimiter">% </span><span class="comment">Fonctions prolongeables par continuité +</span><span class="comment-delimiter">% </span><span class="comment">TVPC([intervalles d'étude],[valeurs prolongeables],[valeurs interdites pour f'],"g","t",e^(-1/x^2),1,n,</span><span class="font-latex-sedate"><span class="comment">\tv</span></span><span class="comment">); </span> <span class="comment-delimiter">% </span><span class="font-latex-sedate"><span class="comment">\begin</span></span><span class="comment">{TVPC} @@ -183,17 +177,17 @@ </span> <span class="font-latex-sedate">\RequirePackage</span>{filecontents} -<span class="font-latex-sedate">\RequirePackage</span>{<span class="flyspell-incorrect">ifthen</span>} -<span class="font-latex-sedate">\RequirePackage</span>{<span class="flyspell-incorrect">fancyvrb</span>} +<span class="font-latex-sedate">\RequirePackage</span>{ifthen} +<span class="font-latex-sedate">\RequirePackage</span>{fancyvrb} <span class="font-latex-sedate">\RequirePackage</span>{<span class="flyspell-duplicate">ifpdf</span>} -<span class="font-latex-sedate">\fvset</span>{<span class="flyspell-incorrect">gobble</span>=0} +<span class="font-latex-sedate">\fvset</span>{gobble=0} -<span class="comment-delimiter">% </span><span class="comment">option xcas </span><span class="comment"><span class="flyspell-duplicate">present</span></span><span class="comment"> +<span class="comment-delimiter">% </span><span class="comment">option xcas present </span> -<span class="font-latex-sedate">\newboolean</span>{xcas}<span class="font-latex-sedate">\setboolean</span>{xcas}{<span class="flyspell-duplicate">false</span>} -<span class="font-latex-sedate">\DeclareOption</span>{xcas}{<span class="font-latex-sedate">\setboolean</span>{xcas}{<span class="flyspell-incorrect">true</span>}} +<span class="font-latex-sedate">\newboolean</span>{xcas}<span class="font-latex-sedate">\setboolean</span>{xcas}{false} +<span class="font-latex-sedate">\DeclareOption</span>{xcas}{<span class="font-latex-sedate">\setboolean</span>{xcas}{true}} <span class="font-latex-sedate">\ProcessOptions</span><span class="font-latex-sedate">\relax</span> @@ -201,23 +195,23 @@ -<span class="comment-delimiter">%% </span><span class="comment">Initialisation du choix </span><span class="comment"><span class="flyspell-incorrect">d'OS</span></span><span class="comment"> -</span><span class="font-latex-sedate">\newboolean</span>{windows}<span class="font-latex-sedate">\setboolean</span>{windows}{<span class="flyspell-duplicate">false</span>} +<span class="comment-delimiter">%% </span><span class="comment">Initialisation du choix d'OS +</span><span class="font-latex-sedate">\newboolean</span>{windows}<span class="font-latex-sedate">\setboolean</span>{windows}{false} <span class="comment-delimiter">%% </span><span class="comment">on configure tablor dans un fichier exterieur pour la plateforme -</span><span class="comment-delimiter">%% </span><span class="comment">et </span><span class="comment"><span class="flyspell-duplicate">l'editeur</span></span><span class="comment"> +</span><span class="comment-delimiter">%% </span><span class="comment">et l'editeur </span> -<span class="font-latex-sedate">\IfFileExists</span>{tablor.cfg}{<span class="font-latex-sedate"><span class="keyword">\input</span></span><span class="constant">{tablor.cfg}</span>}<span class="comment">%</span><span class="font-latex-sedate"><span class="comment">\typeout</span></span><span class="comment">{pas de fichier tablor.</span><span class="comment"><span class="flyspell-duplicate">cfg</span></span><span class="comment">}} +<span class="font-latex-sedate">\IfFileExists</span>{tablor.cfg}{<span class="font-latex-sedate"><span class="keyword">\input</span></span><span class="constant">{tablor.cfg}</span>}<span class="comment">%</span><span class="font-latex-sedate"><span class="comment">\typeout</span></span><span class="comment">{pas de fichier tablor.cfg}} </span> <span class="comment-delimiter">%% </span><span class="comment">Definit des commandes disque selon l'OS utilise -</span><span class="font-latex-sedate">\ifthenelse</span>{<span class="font-latex-sedate">\boolean</span>{<span class="flyspell-duplicate">windows</span>}}<span class="comment">% +</span><span class="font-latex-sedate">\ifthenelse</span>{<span class="font-latex-sedate">\boolean</span>{windows}}<span class="comment">% </span> {<span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\rem</span></span><span class="function-name">}</span>{DEL } <span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\cat</span></span><span class="function-name">}</span>{TYPE } - <span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\cp</span></span><span class="function-name">}</span>{<span class="flyspell-incorrect">COPY</span> }}<span class="comment">% -</span> {<span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\rem</span></span><span class="function-name">}</span>{rm }<span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\cat</span></span><span class="function-name">}</span>{<span class="flyspell-duplicate">cat</span> } - <span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\cp</span></span><span class="function-name">}</span>{<span class="flyspell-duplicate">cp</span> }} + <span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\cp</span></span><span class="function-name">}</span>{COPY }}<span class="comment">% +</span> {<span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\rem</span></span><span class="function-name">}</span>{rm }<span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\cat</span></span><span class="function-name">}</span>{cat } + <span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\cp</span></span><span class="function-name">}</span>{cp }} @@ -225,26 +219,26 @@ -<span class="comment-delimiter">%% </span><span class="comment">pour ceux compilant via </span><span class="comment"><span class="flyspell-incorrect">pdflatex</span></span><span class="comment"> +<span class="comment-delimiter">%% </span><span class="comment">pour ceux compilant via pdflatex </span> <span class="font-latex-sedate">\ifpdf</span> -<span class="font-latex-sedate">\DeclareGraphicsRule</span>{*}{<span class="flyspell-incorrect">mps</span>}{*}{} +<span class="font-latex-sedate">\DeclareGraphicsRule</span>{*}{mps}{*}{} <span class="font-latex-sedate">\fi</span> <span class="comment-delimiter">%% </span><span class="comment">pour nettoyer les fichiers auxiliaires </span> -<span class="font-latex-sedate">\AtEndDocument</span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\rem</span> *.user XCas* Xcas* *.<span class="flyspell-incorrect">mpx</span>} +<span class="font-latex-sedate">\AtEndDocument</span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\rem</span> *.user XCas* Xcas* *.mpx} } -<span class="comment-delimiter">%% </span><span class="comment">Pour clore les fichiers </span><span class="comment"><span class="flyspell-duplicate">metapost</span></span><span class="comment"> +<span class="comment-delimiter">%% </span><span class="comment">Pour clore les fichiers metapost </span> - <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{queue.<span class="flyspell-duplicate">mp</span>} + <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{queue.mp} - <span class="flyspell-duplicate">end</span> + end <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> @@ -257,7 +251,7 @@ <span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\nettoyer</span></span><span class="function-name">}</span>[1][<span class="font-latex-sedate">\jobname</span>]<span class="comment">% -</span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\rem</span> #1.Tab.log queue.mp enteteMP.cfg session.tex config.<span class="flyspell-duplicate">cxx</span>} +</span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\rem</span> #1.Tab.log queue.mp enteteMP.cfg session.tex config.cxx} } @@ -270,44 +264,44 @@ <span class="comment-delimiter">%% </span><span class="comment">initialise les compteurs </span> -<span class="font-latex-sedate"><span class="keyword">\newcounter</span></span><span class="function-name">{</span><span class="function-name"><span class="flyspell-duplicate">TVn</span></span><span class="function-name">}</span> +<span class="font-latex-sedate"><span class="keyword">\newcounter</span></span><span class="function-name">{TVn}</span> <span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\tv</span></span><span class="function-name">}</span>{<span class="font-latex-sedate">\theTVn</span>} -<span class="font-latex-sedate"><span class="keyword">\newcounter</span></span><span class="function-name">{</span><span class="function-name"><span class="flyspell-duplicate">TVnbis</span></span><span class="function-name">}</span> +<span class="font-latex-sedate"><span class="keyword">\newcounter</span></span><span class="function-name">{TVnbis}</span> <span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\tvbis</span></span><span class="function-name">}</span>{<span class="font-latex-sedate">\theTVnbis</span>} <span class="comment-delimiter">%% </span><span class="comment">permet de donner un prefixe aux tableaux produits (</span><span class="font-latex-sedate"><span class="comment">\jobname</span></span><span class="comment"> par defaut) -</span><span class="comment-delimiter">%% </span><span class="comment">effectue quelques </span><span class="comment"><span class="flyspell-incorrect">verifications</span></span><span class="comment"> : +</span><span class="comment-delimiter">%% </span><span class="comment">effectue quelques verifications : </span> <span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\initablor</span></span><span class="function-name">}</span>[1][<span class="font-latex-sedate">\jobname</span>]{<span class="comment">% </span><span class="font-latex-sedate"><span class="keyword">\renewcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\nomtravail</span></span><span class="function-name">}</span>{#1}<span class="comment">% Arret du nom des tableaux </span><span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{0}</span><span class="comment">% Initialisation du compteur de tableaux. -</span><span class="font-latex-sedate">\ifthenelse</span>{<span class="font-latex-sedate">\boolean</span>{xcas}}<span class="comment">% Avec l'option </span><span class="comment"><span class="flyspell-duplicate">XCas</span></span><span class="comment"> -</span>{<span class="font-latex-sedate">\IfFileExists</span>{<span class="font-latex-sedate">\nomtravail</span>.Tab.mp}<span class="comment">% Si Tableaux.mp est </span><span class="comment"><span class="flyspell-duplicate">present</span></span><span class="comment">... -</span> {<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\rem</span> <span class="font-latex-sedate">\nomtravail</span>.Tab.mp}}<span class="comment">% le </span><span class="comment"><span class="flyspell-incorrect">detruire</span></span><span class="comment"> +</span><span class="font-latex-sedate">\ifthenelse</span>{<span class="font-latex-sedate">\boolean</span>{xcas}}<span class="comment">% Avec l'option XCas +</span>{<span class="font-latex-sedate">\IfFileExists</span>{<span class="font-latex-sedate">\nomtravail</span>.Tab.mp}<span class="comment">% Si Tableaux.mp est present... +</span> {<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\rem</span> <span class="font-latex-sedate">\nomtravail</span>.Tab.mp}}<span class="comment">% le detruire </span> {}<span class="comment">% -</span> <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cp</span> enteteMP.cfg <span class="font-latex-sedate">\nomtravail</span>.Tab.mp}<span class="comment">% Reconstituer l'entête de Tableaux.</span><span class="comment"><span class="flyspell-duplicate">mp</span></span><span class="comment"> +</span> <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cp</span> enteteMP.cfg <span class="font-latex-sedate">\nomtravail</span>.Tab.mp}<span class="comment">% Reconstituer l'entête de Tableaux.mp </span>} {<span class="font-latex-sedate">\IfFileExists</span>{<span class="font-latex-sedate">\nomtravail</span>.Tab.mp}<span class="comment">% Sans l'option XCas, si </span> <span class="comment">% Tableaux.mp existe </span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{mpost -interaction=batchmode <span class="font-latex-sedate">\nomtravail</span>.Tab}}<span class="comment">% l'executer pour reconstituer les figures </span>{<span class="font-latex-sedate">\PackageWarning</span>{tablor}{Pas de source metapost pour creer les tableaux.}}<span class="comment">% sinon message d'erreur </span> <span class="comment">% (mais pas d'arret car les tableaux -</span> <span class="comment">% peuvent être </span><span class="comment"><span class="flyspell-incorrect">presents</span></span><span class="comment"> ) +</span> <span class="comment">% peuvent être presents ) </span>}}<span class="comment">% </span> -<span class="comment-delimiter">%% </span><span class="comment">commande pour lancer giac selon </span><span class="comment"><span class="flyspell-duplicate">l'OS</span></span><span class="comment"> +<span class="comment-delimiter">%% </span><span class="comment">commande pour lancer giac selon l'OS </span> <span class="font-latex-sedate">\makeatletter</span> <span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\executGiacmp</span></span><span class="function-name">}</span>[1]{<span class="comment">% -</span><span class="font-latex-sedate">\ifthenelse</span>{<span class="font-latex-sedate">\boolean</span>{<span class="flyspell-duplicate">windows</span>}}<span class="comment">% -</span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="flyspell-duplicate">giac</span> #1 }}<span class="comment">% -</span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="flyspell-duplicate">giac</span> <#1 }}} +</span><span class="font-latex-sedate">\ifthenelse</span>{<span class="font-latex-sedate">\boolean</span>{windows}}<span class="comment">% +</span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{giac #1 }}<span class="comment">% +</span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{giac <#1 }}} <span class="font-latex-sedate">\makeatother</span> @@ -315,7 +309,7 @@ <span class="comment-delimiter">%%%</span><span class="comment"> </span><span class="comment-delimiter">%</span><span class="comment"> -</span><span class="comment-delimiter">%%% </span><span class="comment">LES SCRIPTS GIAC/</span><span class="comment"><span class="flyspell-incorrect">XCAS</span></span><span class="comment"> +</span><span class="comment-delimiter">%%% </span><span class="comment">LES SCRIPTS GIAC/XCAS </span><span class="comment-delimiter">%</span><span class="comment"> </span><span class="comment-delimiter">%%%</span><span class="comment"> </span> @@ -328,25 +322,25 @@ </span> <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTV.cxx} -<span class="flyspell-duplicate">TV</span>(L,F,nom,nomv,f,ftt,trigo,nmr):={ -<span class="flyspell-duplicate">nl</span>:=size(L); +TV(L,F,nom,nomv,f,ftt,trigo,nmr):={ +nl:=size(L); f:=unapply(f,x); -<span class="flyspell-duplicate">fp</span>:=function_diff(f); +fp:=function_diff(f); Z:=concat(L,F); S:=[]; if(trigo==t){ -<span class="flyspell-duplicate">all</span>_trig_solutions:=1; -<span class="flyspell-duplicate">reset</span>_solve_counter(-1,-1); -<span class="flyspell-duplicate">SS</span>:=solve(factor(simplify(fp(x))),x); -<span class="flyspell-duplicate">ns</span>:=size(SS); +all_trig_solutions:=1; +reset_solve_counter(-1,-1); +SS:=solve(factor(simplify(fp(x))),x); +ns:=size(SS); for(k:=0;k<ns;k++){ m:=0; -<span class="flyspell-duplicate">while</span>(evalf(simplify(subst(SS[k],n_1=m)))<=evalf(L[nl-1])){ +while(evalf(simplify(subst(SS[k],n_1=m)))<=evalf(L[nl-1])){ S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m+1; };m:=-1; -<span class="flyspell-duplicate">while</span>(evalf(subst(SS[k],n_1=m))>=L[0]){ +while(evalf(subst(SS[k],n_1=m))>=L[0]){ S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m-1; } } @@ -357,16 +351,16 @@ S:=solve(fp(x),x); si size(S)>0 alors pour j de 0 jusque size(S)-1 faire qq:=member(simplify(S[j]),Z)==0; - kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[<span class="flyspell-duplicate">nl</span>-1])); + kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[nl-1])); if(kk==1){if(qq==1){Z:=append(Z,simplify(S[j]))}}; - <span class="flyspell-duplicate">fpour</span> + fpour fsi; Z:=sort(Z); -<span class="flyspell-duplicate">nz</span>:=size(Z); +nz:=size(Z); tantque evalf(Z[0])==evalf(Z[1]) faire Z:=Z[1..nz-1];nz:=size(Z); - <span class="flyspell-duplicate">ftantque</span>; + ftantque; @@ -375,28 +369,28 @@ Z:=sort(Z); si size(S)>0 alors pour j de 0 jusque size(S)-1 faire - kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[<span class="flyspell-duplicate">nl</span>-1])); + kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[nl-1])); if(kk==1){Z:=append(Z,simplify(S[j]))}; - <span class="flyspell-duplicate">fpour</span> - <span class="flyspell-duplicate">fsi</span>; + fpour + fsi; Z:=sort(Z); -<span class="flyspell-duplicate">nz</span>:=size(Z); - si Z[0]==Z[1] alors Z:=augment(Z[0],Z[2..nz-1]);nz:=<span class="flyspell-duplicate">nz</span>-1; +nz:=size(Z); + si Z[0]==Z[1] alors Z:=augment(Z[0],Z[2..nz-1]);nz:=nz-1; fsi; pour u de 1 jusque nz-2 faire - si Z[u]==Z[u+1] alors Z:=augment(Z[0..u-1],Z[u+1..nz-1]);nz:=<span class="flyspell-duplicate">nz</span>-1; + si Z[u]==Z[u+1] alors Z:=augment(Z[0..u-1],Z[u+1..nz-1]);nz:=nz-1; fsi; -<span class="flyspell-duplicate">fpour</span>; -<span class="flyspell-duplicate">nz</span>:=size(Z); +fpour; +nz:=size(Z); l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";lsp:=" "; -pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> <span class="flyspell-duplicate">etex</span>); -";<span class="flyspell-duplicate">fpour</span>; +pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> etex); +";fpour; k0:= evalf(limit(f(x),x=Z[0],1))> evalf(limit(f(x),x=Z[1],-1)); - kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[<span class="flyspell-duplicate">nz</span>-2],1)); + kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[nz-2],1)); -<span class="flyspell-duplicate">lsi</span>:=lsic+nom+"'("+nomv+")}<span class="font-latex-math">$ etex);"+ +lsi:=lsic+nom+"'("+nomv+")}<span class="font-latex-math">$ etex);"+ if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){ if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+ if(sign(fp(Z[0]+10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-5)))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+ @@ -407,9 +401,9 @@ if(nz>2){ for(r:=1; r<=nz-2;r++){ ksp:=evalf(fp(Z[r]+0.1))>0; if(ksp==1){"plus;"}else{"moins;"} }; } -</span><span class="font-latex-math"><span class="flyspell-duplicate">lsf</span></span><span class="font-latex-math">:=if(member(Z[nz-1],F)==0){""}else{"</span><span class="font-latex-math"><span class="flyspell-duplicate">nonDefBarre</span></span><span class="font-latex-math">; +lsf:=if(member(Z[nz-1],F)==0){""}else{"nonDefBarre; "} -</span><span class="font-latex-math"><span class="flyspell-duplicate">lm</span></span><span class="font-latex-math">0:=limit(f(x),x=Z[0],1)==-</span><span class="font-latex-math"><span class="flyspell-duplicate">infinity</span></span><span class="font-latex-math">; +lm0:=limit(f(x),x=Z[0],1)==-infinity; li:=lvic+nom+"}$</span> etex);"+ if(member(Z[0],F)==0){"valPos(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$</span> etex,"} else{"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$</span> etex,"}+ @@ -428,75 +422,75 @@ if(nz>2){ for(r:=1; r<=nz-2;r++){ ksp:=evalf(fp(Z[r]+0.1))>0; "}}} }; } -<span class="flyspell-duplicate">lnz</span>:=limit(f(x),x=Z[nz-1],-1)==-<span class="flyspell-duplicate">infinity</span>; +lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity; -lf:=if(member(Z[nz-1],F)==0){"valPos(<span class="flyspell-duplicate">btex</span> <span class="font-latex-math">$"+ +lf:=if(member(Z[nz-1],F)==0){"valPos(btex <span class="font-latex-math">$"+ if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"+ - if(kz==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}} - else{"limGauche(<span class="flyspell-duplicate">btex</span> <span class="font-latex-math">$"+ - if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$</span> <span class="flyspell-duplicate">etex</span>,"+ - if(kz==1){"1);nonDefBarre;"}else{"0);<span class="flyspell-duplicate">nonDefBarre</span>;"}}; + if(kz==1){"1);"}else{"0);"}} + else{"limGauche(btex <span class="font-latex-math">$"+ + if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"+ + if(kz==1){"1);nonDefBarre;"}else{"0);nonDefBarre;"}}; -<span class="flyspell-duplicate">MetaLfc</span>:=if(ftt==2){if(<span class="flyspell-duplicate">nz</span>>2){" +MetaLfc:=if(ftt==2){if(nz>2){" -<span class="flyspell-duplicate">beginTableau</span>("+<span class="flyspell-duplicate">nmr</span>+")"+ +beginTableau("+nmr+")"+ l0+lsi+lsp+lsf+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}else{ -<span class="flyspell-duplicate">intro</span>+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +intro+"beginTableau("+nmr+")"+ l0+ -<span class="flyspell-duplicate">lsi</span>+lsf+" -<span class="flyspell-duplicate">endTableau</span>; +lsi+lsf+" +endTableau; "; } -}else{ if(ftt==0){if(nz>2){"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +}else{ if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+ l0+ li+ -<span class="flyspell-duplicate">lp</span>+ -<span class="flyspell-duplicate">lf</span> +lp+ +lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; -";}else{"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +";}else{"beginTableau("+nmr+")"+ l0+ li+ -<span class="flyspell-duplicate">lf</span> +lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}}else{ -if(nz>2){"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +if(nz>2){"beginTableau("+nmr+")"+ l0+ -<span class="flyspell-duplicate">lsi</span>+lsp+lsf+ +lsi+lsp+lsf+ li+ -<span class="flyspell-duplicate">lp</span>+ -<span class="flyspell-duplicate">lf</span> +lp+ +lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; -";}else{"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +";}else{"beginTableau("+nmr+")"+ l0+ -<span class="flyspell-duplicate">lsi</span>+lsf+ +lsi+lsf+ li+ -<span class="flyspell-duplicate">lf</span> +lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";} }} sortie:=fopen("XCasmpfc.mp"); -<span class="flyspell-duplicate">fprint</span>(sortie,Unquoted,<span class="flyspell-duplicate">MetaLfc</span>); -<span class="flyspell-duplicate">fclose</span>(sortie); +fprint(sortie,Unquoted,MetaLfc); +fclose(sortie); }:; @@ -513,31 +507,31 @@ sortie:=fopen("XCasmpfc.mp"); <span class="comment-delimiter">%</span><span class="comment"> </span><span class="comment-delimiter">%</span><span class="comment"> -</span><span class="comment-delimiter">% </span><span class="comment"><span class="flyspell-duplicate">TVPC</span></span><span class="comment"> : pour les fonctions </span><span class="comment"><span class="flyspell-duplicate">prolongeables</span></span><span class="comment"> par continuité. +</span><span class="comment-delimiter">% </span><span class="comment">TVPC : pour les fonctions prolongeables par continuité. </span><span class="comment-delimiter">%%</span><span class="comment"> </span><span class="comment-delimiter">%%</span><span class="comment"> </span> -<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{<span class="flyspell-incorrect">XcasTVPC</span>.cxx} -<span class="flyspell-duplicate">TVPC</span>(L,F,<span class="flyspell-incorrect">FP</span>,nom,nomv,f,ftt,trigo,nmr):={ +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTVPC.cxx} +TVPC(L,F,FP,nom,nomv,f,ftt,trigo,nmr):={ nl:=size(L); f:=unapply(f,x); fp:=function_diff(f); Z:=concat(L,F); -Z:=<span class="flyspell-duplicate">concat</span>(Z,<span class="flyspell-duplicate">FP</span>); +Z:=concat(Z,FP); S:=[]; if(trigo==t){ -<span class="flyspell-duplicate">all</span>_trig_solutions:=1; -<span class="flyspell-duplicate">reset</span>_solve_counter(-1,-1); -<span class="flyspell-duplicate">SS</span>:=solve(factor(simplify(fp(x))),x); +all_trig_solutions:=1; +reset_solve_counter(-1,-1); +SS:=solve(factor(simplify(fp(x))),x); ns:=size(SS); for(k:=0;k<ns;k++){ m:=0; -<span class="flyspell-duplicate">while</span>(evalf(simplify(subst(SS[k],n_1=m)))<=evalf(L[nl-1])){ +while(evalf(simplify(subst(SS[k],n_1=m)))<=evalf(L[nl-1])){ S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m+1; };m:=-1; while(evalf(subst(SS[k],n_1=m))>=L[0]){ @@ -553,14 +547,14 @@ S:=solve(fp(x),x); qq:=member(simplify(S[j]),Z)==0; kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[nl-1])); if(kk==1){if(qq==1){Z:=append(Z,simplify(S[j]))}}; - <span class="flyspell-duplicate">fpour</span> + fpour fsi; Z:=sort(Z); -<span class="flyspell-duplicate">nz</span>:=size(Z); +nz:=size(Z); tantque evalf(Z[0])==evalf(Z[1]) faire Z:=Z[1..nz-1];nz:=size(Z); - <span class="flyspell-duplicate">ftantque</span>; + ftantque; @@ -569,28 +563,28 @@ Z:=sort(Z); si size(S)>0 alors pour j de 0 jusque size(S)-1 faire - kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[<span class="flyspell-duplicate">nl</span>-1])); + kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[nl-1])); if(kk==1){Z:=append(Z,simplify(S[j]))}; - <span class="flyspell-duplicate">fpour</span> - <span class="flyspell-duplicate">fsi</span>; + fpour + fsi; Z:=sort(Z); -<span class="flyspell-duplicate">nz</span>:=size(Z); - si Z[0]==Z[1] alors Z:=augment(Z[0],Z[2..nz-1]);nz:=<span class="flyspell-duplicate">nz</span>-1; +nz:=size(Z); + si Z[0]==Z[1] alors Z:=augment(Z[0],Z[2..nz-1]);nz:=nz-1; fsi; pour u de 1 jusque nz-2 faire - si Z[u]==Z[u+1] alors Z:=augment(Z[0..u-1],Z[u+1..nz-1]);nz:=<span class="flyspell-duplicate">nz</span>-1; + si Z[u]==Z[u+1] alors Z:=augment(Z[0..u-1],Z[u+1..nz-1]);nz:=nz-1; fsi; -<span class="flyspell-duplicate">fpour</span>; +fpour; nz:=size(Z); l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";lsp:=" "; -pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> <span class="flyspell-duplicate">etex</span>); -";<span class="flyspell-duplicate">fpour</span>; +pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> etex); +";fpour; k0:= evalf(limit(f(x),x=Z[0],1))> evalf(limit(f(x),x=Z[1],-1)); - kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[<span class="flyspell-duplicate">nz</span>-2],1)); + kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[nz-2],1)); -<span class="flyspell-duplicate">lsi</span>:=lsic+nom+"'("+nomv+")}<span class="font-latex-math">$ etex);"+ +lsi:=lsic+nom+"'("+nomv+")}<span class="font-latex-math">$ etex);"+ if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],FP)==0){ if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+ if(sign(fp(Z[0]+10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-5)))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+ @@ -601,12 +595,12 @@ if(nz>2){ for(r:=1; r<=nz-2;r++){ ksp:=evalf(fp(Z[r]+0.1))>0; if(ksp==1){"plus;"}else{"moins;"} }; } -lsf:=if(member(Z[nz-1],</span><span class="font-latex-math"><span class="flyspell-duplicate">FP</span></span><span class="font-latex-math">)==0){""}else{"</span><span class="font-latex-math"><span class="flyspell-duplicate">nonDefBarre</span></span><span class="font-latex-math">; +lsf:=if(member(Z[nz-1],FP)==0){""}else{"nonDefBarre; "} -</span><span class="font-latex-math"><span class="flyspell-duplicate">lm</span></span><span class="font-latex-math">0:=limit(f(x),x=Z[0],1)==-</span><span class="font-latex-math"><span class="flyspell-duplicate">infinity</span></span><span class="font-latex-math">; +lm0:=limit(f(x),x=Z[0],1)==-infinity; li:=lvic+nom+"}$</span> etex);"+ - if(member(Z[0],F)==0){"valPos(btex <span class="font-latex-math">$"+if(</span><span class="font-latex-math"><span class="flyspell-duplicate">lm</span></span><span class="font-latex-math">0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$</span> etex,"} - else{"limDroite(btex <span class="font-latex-math">$"+if(</span><span class="font-latex-math"><span class="flyspell-duplicate">lm</span></span><span class="font-latex-math">0==1){"-\\infty"}</span><span class="font-latex-math"><span class="flyspell-duplicate">else</span></span><span class="font-latex-math">{latex(simplify(limit(f(x),x=Z[0],1)))}+"$</span> etex,"}+ + if(member(Z[0],F)==0){"valPos(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$</span> etex,"} + else{"limDroite(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$</span> etex,"}+ if(k0==1){"1"}else{"0"}+ ");"; @@ -615,39 +609,39 @@ lsf:=if(member(Z[nz-1],</span><span class="font-latex-math"><span class="flyspel lmrm:=limit(f(x),x=Z[r],-1)==-infinity;lmrp:=limit(f(x),x=Z[r],1)==-infinity; lp:=lp+if(member(Z[r],F)){ "valPos(btex - <span class="font-latex-math">$"+if(</span><span class="font-latex-math"><span class="flyspell-duplicate">lmrm</span></span><span class="font-latex-math">==1){"-\\infty"}</span><span class="font-latex-math"><span class="flyspell-duplicate">else</span></span><span class="font-latex-math">{latex(</span><span class="font-latex-math"><span class="flyspell-duplicate">simplify</span></span><span class="font-latex-math">(limit(f(x),x=Z[r],-1)))}+"$</span> + <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],-1)))}+"$</span> etex,"+if(krm==1){"1);"}else{"0);"} } else{"valPos(btex <span class="font-latex-math">$"+latex(simplify(f(Z[r])))+"$</span> etex,"+if(sign(evalf(fp(Z[r]-0.01)))==sign(fp(Z[r]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0); "}}} }; } -lnz:=limit(f(x),x=Z[nz-1],-1)==-<span class="flyspell-duplicate">infinity</span>; +lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity; -<span class="flyspell-duplicate">lf</span>:=if(member(Z[nz-1],F)==0){"valPos(<span class="flyspell-duplicate">btex</span> <span class="font-latex-math">$"+ +lf:=if(member(Z[nz-1],F)==0){"valPos(btex <span class="font-latex-math">$"+ if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"+ - if(kz==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}} - else{"limGauche(<span class="flyspell-duplicate">btex</span> <span class="font-latex-math">$"+ + if(kz==1){"1);"}else{"0);"}} + else{"limGauche(btex <span class="font-latex-math">$"+ if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"+ - if(<span class="flyspell-duplicate">kz</span>==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}}; + if(kz==1){"1);"}else{"0);"}}; -MetaLfc:=if(ftt==2){if(<span class="flyspell-duplicate">nz</span>>2){" +MetaLfc:=if(ftt==2){if(nz>2){" -<span class="flyspell-duplicate">beginTableau</span>("+nmr+")"+ +beginTableau("+nmr+")"+ l0+lsi+lsp+lsf+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}else{ -<span class="flyspell-duplicate">intro</span>+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +intro+"beginTableau("+nmr+")"+ l0+ lsi+lsf+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; "; } @@ -655,41 +649,41 @@ lsi+lsf+" l0+ li+ lp+ -<span class="flyspell-duplicate">lf</span> +lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}else{"beginTableau("+nmr+")"+ l0+ li+ -<span class="flyspell-duplicate">lf</span> +lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}}else{ -if(nz>2){"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +if(nz>2){"beginTableau("+nmr+")"+ l0+ -<span class="flyspell-duplicate">lsi</span>+lsp+lsf+ +lsi+lsp+lsf+ li+ -<span class="flyspell-duplicate">lp</span>+ +lp+ lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; -";}else{"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +";}else{"beginTableau("+nmr+")"+ l0+ lsi+lsf+ li+ -<span class="flyspell-duplicate">lf</span> +lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";} }} sortie:=fopen("XCasmpfc.mp"); -<span class="flyspell-duplicate">fprint</span>(sortie,Unquoted,MetaLfc); +fprint(sortie,Unquoted,MetaLfc); fclose(sortie); @@ -717,9 +711,9 @@ fclose(sortie); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTVZ.cxx} -<span class="flyspell-duplicate">TVZ</span>(L,F,FF,nom,nomv,f,ftt,trigo,nmr):={ -<span class="flyspell-duplicate">nl</span>:=size(L); -nf:=size(<span class="flyspell-duplicate">FF</span>); +TVZ(L,F,FF,nom,nomv,f,ftt,trigo,nmr):={ +nl:=size(L); +nf:=size(FF); Ff:=NULL;IMIN:=NULL;IMAX:=NULL; for(k:=0;k<nf;k++){ if(FF[k][0]>L[0]){Imin[k]:=FF[k][0];LL:=L}else{Imin[k]:=L[0];LL:=[L[1]]}; @@ -728,11 +722,11 @@ if(FF[k][1]<L[1]){Imax[k]:=FF[k][1];LL:=L}else{Imax[k]:=L[1];LL:=[L[0]]}; IMIN:=IMIN,Imin[k]; IMAX:=IMAX,Imax[k]; } - FF:=[<span class="flyspell-duplicate">Ff</span>]; - IMIN:=[<span class="flyspell-duplicate">IMIN</span>]; + FF:=[Ff]; + IMIN:=[IMIN]; IMAX:=[IMAX]; f:=unapply(f,x); -<span class="flyspell-duplicate">fp</span>:=function_diff(f); +fp:=function_diff(f); Z:=concat(LL,F); for(k:=0;k<nf;k++){ @@ -744,15 +738,15 @@ S:=[]; if(trigo==t){ all_trig_solutions:=1; -<span class="flyspell-duplicate">reset</span>_solve_counter(-1,-1); +reset_solve_counter(-1,-1); SS:=solve(factor(simplify(fp(x))),x); ns:=size(SS); for(k:=0;k<ns;k++){ m:=0; -while(<span class="flyspell-duplicate">evalf</span>(simplify(subst(SS[k],n_1=m)))<=<span class="flyspell-duplicate">evalf</span>(L[nl-1])){ +while(evalf(simplify(subst(SS[k],n_1=m)))<=evalf(L[nl-1])){ S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m+1; };m:=-1; -while(<span class="flyspell-duplicate">evalf</span>(subst(SS[k],n_1=m))>=L[0]){ +while(evalf(subst(SS[k],n_1=m))>=L[0]){ S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m-1; } } @@ -767,43 +761,43 @@ S:=solve(fp(x),x); si size(S)>0 alors pour j de 0 jusque size(S)-1 faire for(k:=0;k<nf;k++){ - kk:=(<span class="flyspell-duplicate">evalf</span>(S[j])>=<span class="flyspell-duplicate">evalf</span>(L[0])) and (<span class="flyspell-duplicate">evalf</span>(S[j])<=<span class="flyspell-duplicate">evalf</span>(L[<span class="flyspell-duplicate">nl</span>-1])); - kK:=(<span class="flyspell-duplicate">evalf</span>(S[j])<<span class="flyspell-duplicate">evalf</span>(Imin[k])) or (<span class="flyspell-duplicate">evalf</span>(S[j])><span class="flyspell-duplicate">evalf</span>(Imax[k])); + kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[nl-1])); + kK:=(evalf(S[j])<evalf(Imin[k])) or (evalf(S[j])>evalf(Imax[k])); Kk:=(kk) and kK; if(Kk==1){Z:=append(Z,simplify(S[j]))}; } fpour - <span class="flyspell-duplicate">fsi</span>; + fsi; Z:=sort(Z); nz:=size(Z); - si Z[0]==Z[1] alors Z:=augment(Z[0],Z[2..nz-1]);nz:=<span class="flyspell-duplicate">nz</span>-1; + si Z[0]==Z[1] alors Z:=augment(Z[0],Z[2..nz-1]);nz:=nz-1; fsi; pour u de 1 jusque nz-2 faire - si Z[u]==Z[u+1] alors Z:=augment(Z[0..u-1],Z[u+1..nz-1]);nz:=<span class="flyspell-duplicate">nz</span>-1; + si Z[u]==Z[u+1] alors Z:=augment(Z[0..u-1],Z[u+1..nz-1]);nz:=nz-1; fsi; -<span class="flyspell-duplicate">fpour</span>; -<span class="flyspell-duplicate">nz</span>:=size(Z); +fpour; +nz:=size(Z); for(j:=0;j<nf;j++){ for(k:=1;k<nz;k++){ - if ((Z[k]>Imin[j])and(Z[k]<Imax[j])){Z:=augment(Z[0..k-1],Z[k+1..nz-1]);nz:=<span class="flyspell-duplicate">nz</span>-1; + if ((Z[k]>Imin[j])and(Z[k]<Imax[j])){Z:=augment(Z[0..k-1],Z[k+1..nz-1]);nz:=nz-1; } } } nz:=size(Z); -l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; <span class="flyspell-duplicate">lf</span>:=" ";lsp:=" "; -pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> <span class="flyspell-duplicate">etex</span>); +l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";lsp:=" "; +pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> etex); ";fpour; - k0:= <span class="flyspell-duplicate">evalf</span>(limit(f(x),x=Z[0],1))> <span class="flyspell-duplicate">evalf</span>(limit(f(x),x=Z[1],-1)); - kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[<span class="flyspell-duplicate">nz</span>-2],1)); + k0:= evalf(limit(f(x),x=Z[0],1))> evalf(limit(f(x),x=Z[1],-1)); + kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[nz-2],1)); -<span class="flyspell-duplicate">lsi</span>:=lsic+nom+"'("+nomv+")}<span class="font-latex-math">$ etex);"+ +lsi:=lsic+nom+"'("+nomv+")}<span class="font-latex-math">$ etex);"+ if(member(Z[0],IMIN)!=0){"debutNonDef;"}else{if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){ if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+ if(sign(fp(Z[0]+10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-5)))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+ @@ -812,20 +806,20 @@ if(member(Z[0],IMIN)!=0){"debutNonDef;"}else{if(Z[0]==-infinity){if(sign(evalf(f 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){"debutNonDef;"}</span><span class="font-latex-math"><span class="flyspell-duplicate">else</span></span><span class="font-latex-math">{ - if(member(Z[r],IMAX)!=0){"</span><span class="font-latex-math"><span class="flyspell-duplicate">finNonDef</span></span><span class="font-latex-math">;"+ - if(ksp==1){"plus;"}else{"moins;"}}</span><span class="font-latex-math"><span class="flyspell-duplicate">else</span></span><span class="font-latex-math">{ + lsp:=lsp+if(member(Z[r],IMIN)!=0){"debutNonDef;"}else{ + if(member(Z[r],IMAX)!=0){"finNonDef;"+ + if(ksp==1){"plus;"}else{"moins;"}}else{ if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+ if(ksp==1){"plus;"}else{"moins;"} }}}}; -</span><span class="font-latex-math"><span class="flyspell-duplicate">lsf</span></span><span class="font-latex-math">:=if(member(Z[0],IMAX)!=0){"finNonDef;"}else{if(member(Z[nz-1],F)==0){""}else{"</span><span class="font-latex-math"><span class="flyspell-duplicate">nonDefBarre</span></span><span class="font-latex-math">; +lsf:=if(member(Z[0],IMAX)!=0){"finNonDef;"}else{if(member(Z[nz-1],F)==0){""}else{"nonDefBarre; "}} -</span><span class="font-latex-math"><span class="flyspell-duplicate">lm</span></span><span class="font-latex-math">0:=limit(f(x),x=Z[0],1)==-</span><span class="font-latex-math"><span class="flyspell-duplicate">infinity</span></span><span class="font-latex-math">; +lm0:=limit(f(x),x=Z[0],1)==-infinity; li:=lvic +nom+"}$</span> etex);"+ if(member(Z[0],F)==0){"valPos(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$</span> etex,"} else{"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$</span> etex,"}+ @@ -841,101 +835,101 @@ if(nz>2){ lp:=lp+if(member(Z[r],IMIN)!=0){"limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){ "-\\infty"}else{ latex(simplify(limit(f(x),x=Z[r],-1)))} - +"$</span> etex,"+if(<span class="flyspell-duplicate">krm</span>==1){ - "1);"}<span class="flyspell-duplicate">else</span>{"0);"} - +"<span class="flyspell-duplicate">debutNonDef</span>;" - }//fsi Zr=<span class="flyspell-duplicate">Imin</span> + +"$</span> etex,"+if(krm==1){ + "1);"}else{"0);"} + +"debutNonDef;" + }//fsi Zr=Imin else{ if (member(Z[r],IMAX)!=0) {"finNonDef;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){ "-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],1)))} - +"$</span> etex,"+if(<span class="flyspell-duplicate">krp</span>==1){ - "1);"}<span class="flyspell-duplicate">else</span>{"0);"} + +"$</span> etex,"+if(krp==1){ + "1);"}else{"0);"} } else { if(member(Z[r],F)){ "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){ "-\\infty"}else{ latex(simplify(limit(f(x),x=Z[r],-1)))} - +"$</span> etex,"+if(<span class="flyspell-duplicate">krm</span>==1){ + +"$</span> etex,"+if(krm==1){ "1);"}else{"0);"} +"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){ "-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],1)))} - +"$</span> etex,"+if(<span class="flyspell-duplicate">krp</span>==1){ - "1);"}<span class="flyspell-duplicate">else</span>{"0);"} + +"$</span> etex,"+if(krp==1){ + "1);"}else{"0);"} }//fsi (member Zr F) else{"valPos(btex<span class="font-latex-math">$"+latex(simplify(f(Z[r])))+"$</span>etex,"+ if(sign(evalf(fp(Z[r]-0.01)))==sign(fp(Z[r]+0.01))){ - "0.5);"}<span class="flyspell-duplicate">else</span>{ - if(<span class="flyspell-duplicate">krp</span>==1){ - "1);"}else{"0);"}//felse(<span class="flyspell-duplicate">krp</span>) + "0.5);"}else{ + if(krp==1){ + "1);"}else{"0);"}//felse(krp) }//felse(valpos) }//felse(member Zr F) } //felse(Zr=Imax) - }//felse(Zr=<span class="flyspell-duplicate">Imin</span>) - };//<span class="flyspell-incorrect">ffor</span> - }//fsi <span class="flyspell-duplicate">nz</span> + }//felse(Zr=Imin) + };//ffor + }//fsi nz -lnz:=limit(f(x),x=Z[nz-1],-1)==-<span class="flyspell-duplicate">infinity</span>; +lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity; -<span class="flyspell-duplicate">lf</span>:=if(member(Z[nz-1],F)==0){"valPos(<span class="flyspell-duplicate">btex</span> <span class="font-latex-math">$"+ +lf:=if(member(Z[nz-1],F)==0){"valPos(btex <span class="font-latex-math">$"+ if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"+ if(kz==1){"1);"}else{"0);"}} - else{"limGauche(<span class="flyspell-duplicate">btex</span> <span class="font-latex-math">$"+ - if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$</span> <span class="flyspell-duplicate">etex</span>,"+ - if(kz==1){"1);nonDefBarre;"}else{"0);<span class="flyspell-duplicate">nonDefBarre</span>;"}}; + else{"limGauche(btex <span class="font-latex-math">$"+ + if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"+ + if(kz==1){"1);nonDefBarre;"}else{"0);nonDefBarre;"}}; -<span class="flyspell-duplicate">MetaLfc</span>:=if(ftt==2){if(nz>2){" +MetaLfc:=if(ftt==2){if(nz>2){" -<span class="flyspell-duplicate">beginTableau</span>("+<span class="flyspell-duplicate">nmr</span>+")"+ +beginTableau("+nmr+")"+ l0+lsi+lsp+lsf+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}else{ -intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +intro+"beginTableau("+nmr+")"+ l0+ -<span class="flyspell-duplicate">lsi</span>+lsf+" -<span class="flyspell-duplicate">endTableau</span>; +lsi+lsf+" +endTableau; "; } -}else{ if(ftt==0){if(nz>2){"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +}else{ if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+ l0+ li+ lp+ -<span class="flyspell-duplicate">lf</span> +lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; -";}else{"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +";}else{"beginTableau("+nmr+")"+ l0+ li+ -<span class="flyspell-duplicate">lf</span> +lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}}else{ if(nz>2){"beginTableau("+nmr+")"+ l0+ -<span class="flyspell-duplicate">lsi</span>+lsp+lsf+ +lsi+lsp+lsf+ li+ lp+ -<span class="flyspell-duplicate">lf</span> +lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}else{"beginTableau("+nmr+")"+ l0+ lsi+lsf+ li+ -<span class="flyspell-duplicate">lf</span> +lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";} }} @@ -943,7 +937,7 @@ li+ sortie:=fopen("XCasmpfc.mp"); fprint(sortie,Unquoted,MetaLfc); -<span class="flyspell-duplicate">fclose</span>(sortie); +fclose(sortie); } :; @@ -959,7 +953,7 @@ fprint(sortie,Unquoted,MetaLfc); </span> -<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTVapp.<span class="flyspell-duplicate">cxx</span>} +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTVapp.cxx} @@ -970,7 +964,7 @@ fprint(sortie,Unquoted,MetaLfc); TVapp(L,F,nom,nomv,f,ftt,nmr):={ -<span class="flyspell-duplicate">nl</span>:=size(L); +nl:=size(L); f:=unapply(f,x); fp:=function_diff(f); z0:=concat(L,F);z:=sort(z0); @@ -983,7 +977,7 @@ nz:=size(z); S:=NULL; if(L==[-infinity,+infinity]){j:=[seq(-100+k,k=0..200)]minus F;for k in j do S:=S,fsolve(fp(x),x,k/10,newton_solver);end_for} -<span class="flyspell-duplicate">else</span>{if(L[0]==-infinity){j:=[seq(k,k=100..floor(L[1]))] minus F;for k in j do S:=S,fsolve(fp(x),x,k/10,newton_solver);end_for} +else{if(L[0]==-infinity){j:=[seq(k,k=100..floor(L[1]))] minus F;for k in j do S:=S,fsolve(fp(x),x,k/10,newton_solver);end_for} else{if(L[1]==+infinity){j:=[seq(k,k=floor(L[0])..100)] minus F;for k in j do S:=S,fsolve(fp(x),x,k/10,newton_solver);end_for;} else{ j:=[seq(k,k=floor(z[0])..floor(z[nz-1]))] minus F;for k in j do S:=S,fsolve(fp(x),x,k/10,newton_solver);end_for; }}}; @@ -995,7 +989,7 @@ si size(S)>0 alors pour j de 0 jusque size(S)-1 faire kk:=(re(S[j])==S[j]);kok:=(evalf(S[j])>=L[0]) and (evalf(S[j])<=L[1]); if(kk==1){if(kok==1){z:=append(z,simplify(S[j]))}}; fpour; -<span class="flyspell-duplicate">fsi</span>; +fsi; S:=NULL; @@ -1007,7 +1001,7 @@ for(j:=1;j<size(z);j++){ z:=[S]; Z:=sort(z); -<span class="flyspell-duplicate">nz</span>:=size(Z); +nz:=size(Z); S:=NULL; S:=S,Z[0]; @@ -1018,13 +1012,13 @@ for(j:=1;j<nz;j++){ Z:=[S]; -<span class="flyspell-duplicate">nz</span>:=size(Z); +nz:=size(Z); l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";lsp:=" "; pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> etex); -";<span class="flyspell-duplicate">fpour</span>; +";fpour; k0:= evalf(limit(f(x),x=Z[0],1))> evalf(limit(f(x),x=Z[1],-1)); - kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[<span class="flyspell-duplicate">nz</span>-2],1)); + kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[nz-2],1)); lsi:=lsic+nom+"'("+nomv+")}<span class="font-latex-math">$ etex);"+ if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){ @@ -1037,7 +1031,7 @@ if(nz>2){ for(r:=1; r<=nz-2;r++){ ksp:=evalf(fp(Z[r]+0.01))>0; if(ksp==1){"plus;"}else{"moins;"} }; } -</span><span class="font-latex-math"><span class="flyspell-duplicate">lsf</span></span><span class="font-latex-math">:=if(member(Z[nz-1],F)==0){""}else{"</span><span class="font-latex-math"><span class="flyspell-duplicate">nonDefBarre</span></span><span class="font-latex-math">; +lsf:=if(member(Z[nz-1],F)==0){""}else{"nonDefBarre; "} lm0:=limit(f(x),x=Z[0],1)==-infinity; li:=lvic+nom+"}$</span> etex);"+ @@ -1056,56 +1050,56 @@ lm0:=limit(f(x),x=Z[0],1)==-infinity; "}}} }; } -lnz:=limit(f(x),x=Z[nz-1],-1)==-<span class="flyspell-duplicate">infinity</span>; +lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity; lf:=if(member(Z[nz-1],F)==0){"valPos(btex <span class="font-latex-math">$"+ if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"+ - if(kz==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}} + if(kz==1){"1);"}else{"0);"}} else{"limGauche(btex <span class="font-latex-math">$"+ if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"+ - if(kz==1){"1);nonDefBarre;"}else{"0);<span class="flyspell-duplicate">nonDefBarre</span>;"}}; + if(kz==1){"1);nonDefBarre;"}else{"0);nonDefBarre;"}}; -<span class="flyspell-duplicate">MetaLfc</span>:=if(ftt==2){if(nz>2){" +MetaLfc:=if(ftt==2){if(nz>2){" -beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +beginTableau("+nmr+")"+ l0+lsi+lsp+lsf+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}else{ intro+"beginTableau("+nmr+")"+ l0+ -<span class="flyspell-duplicate">lsi</span>+lsf+" -<span class="flyspell-duplicate">endTableau</span>; +lsi+lsf+" +endTableau; "; } -}else{ if(ftt==0){if(nz>2){"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +}else{ if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+ l0+ li+ lp+ -<span class="flyspell-duplicate">lf</span> +lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}else{"beginTableau("+nmr+")"+ l0+ li+ lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}}else{ if(nz>2){"beginTableau("+nmr+")"+ l0+ lsi+lsp+lsf+ li+ -<span class="flyspell-duplicate">lp</span>+ -<span class="flyspell-duplicate">lf</span> +lp+ +lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}else{"beginTableau("+nmr+")"+ l0+ @@ -1113,7 +1107,7 @@ lsi+lsf+ li+ lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";} }} @@ -1142,7 +1136,7 @@ fclose(sortie); <span class="comment-delimiter">%%</span><span class="comment"> </span><span class="comment-delimiter">%% </span><span class="comment">Code giac/Xcas pour les Tableaux de Variations avec -</span><span class="comment-delimiter">%% </span><span class="comment">Valeurs </span><span class="comment"><span class="flyspell-incorrect">intermediaires</span></span><span class="comment"> +</span><span class="comment-delimiter">%% </span><span class="comment">Valeurs intermediaires </span><span class="comment-delimiter">%%</span><span class="comment"> </span> @@ -1152,25 +1146,25 @@ fclose(sortie); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTVI.cxx} -<span class="flyspell-duplicate">TVI</span>(L,F,nom,nomv,f,ftt,ao,trigo,nmr):={ +TVI(L,F,nom,nomv,f,ftt,ao,trigo,nmr):={ nl:=size(L); f:=unapply(f,x); -<span class="flyspell-duplicate">fp</span>:=function_diff(f); +fp:=function_diff(f); Z:=concat(L,F); S:=[]; if(trigo==t){ -<span class="flyspell-duplicate">all</span>_trig_solutions:=1; -<span class="flyspell-duplicate">reset</span>_solve_counter(-1,-1); +all_trig_solutions:=1; +reset_solve_counter(-1,-1); SS:=solve(factor(simplify(fp(x))),x); -<span class="flyspell-duplicate">ns</span>:=size(SS); +ns:=size(SS); for(k:=0;k<ns;k++){ m:=0; -<span class="flyspell-duplicate">while</span>(evalf(simplify(subst(SS[k],n_1=m)))<=evalf(L[nl-1])){ +while(evalf(simplify(subst(SS[k],n_1=m)))<=evalf(L[nl-1])){ S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m+1; };m:=-1; -<span class="flyspell-duplicate">while</span>(evalf(subst(SS[k],n_1=m))>=L[0]){ +while(evalf(subst(SS[k],n_1=m))>=L[0]){ S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m-1; } } @@ -1181,19 +1175,19 @@ S:=solve(fp(x),x); si size(S)>0 alors pour j de 0 jusque size(S)-1 faire kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[nl-1])); if(kk==1){Z:=append(Z,simplify(S[j]))}; - <span class="flyspell-duplicate">fpour</span> + fpour fsi; Z:=sort(Z); -<span class="flyspell-duplicate">nz</span>:=size(Z); +nz:=size(Z); si Z[0]==Z[1] alors Z:=augment(Z[0],Z[2..nz-1]);nz:=nz-1; fsi; pour u de 1 jusque nz-2 faire si Z[u]==Z[u+1] alors Z:=augment(Z[0..u-1],Z[u+1..nz-1]);nz:=nz-1; fsi; -<span class="flyspell-duplicate">fpour</span>; +fpour; nz:=size(Z); -l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";<span class="flyspell-duplicate">lsp</span>:=" "; +l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";lsp:=" "; @@ -1201,57 +1195,57 @@ LI:=limit(f(x),x,Z[0],1); LF:=limit(f(x),x,Z[nz-1],-1); LP:=NULL; if(nz>2){ for(r:=1; r<=nz-2;r++){LP:=LP,if(member(Z[r],F)){limit(f(x),x,Z[r],-1),limit(f(x),x,Z[r],1)}else{f(Z[r])}}}; -if(nz>2){ LL:=[LI,LP,LF]}else{LL:=[LI,<span class="flyspell-duplicate">LF</span>]}; +if(nz>2){ LL:=[LI,LP,LF]}else{LL:=[LI,LF]}; -<span class="flyspell-duplicate">NL</span>:=size(LL); +NL:=size(LL); A:=NULL;aa:=1;kk:=0; if(NL==nz){for(k:=0;k<nz-1;k++){TestS:=(sign(evalf(LL[k]-ao))==sign(evalf(LL[k+1]-ao))) or (sign(evalf(LL[k]-ao))==0.0)or (sign(evalf(LL[k+1]-ao))==0.0); if(TestS==0){A:=A,aa;l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[k])+"$</span> etex);"+"val(btex <span class="font-latex-math">$\\alpha_</span><span class="font-latex-subscript"><span class="font-latex-math">"</span></span><span class="font-latex-math">+aa+"$</span> etex);";aa:=aa+1;}else{l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[k])+"$</span> etex);"}} -l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[nz-1])+"$</span> <span class="flyspell-duplicate">etex</span>);"}; +l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[nz-1])+"$</span> etex);"}; if(NL>nz){for(k:=0;k<NL-1;k++){TestS:=(sign(evalf(LL[k]-ao))==sign(evalf(LL[k+1]-ao))) or (sign(evalf(LL[k]-ao))==0.0)or (sign(evalf(LL[k+1]-ao))==0.0); TestL:=(abs(LL[k])==abs(LL[k+1])); if(TestS==0){ if( TestL==1 ){l0:=l0}else{ A:=A,aa;l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[kk])+"$</span> etex);"+"val(btex <span class="font-latex-math">$\\alpha_</span><span class="font-latex-subscript"><span class="font-latex-math">"</span></span><span class="font-latex-math">+aa+"$</span> etex);";aa:=aa+1;kk:=kk+1}}else{l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[kk])+"$</span> etex);";kk:=kk+1}} -l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[nz-1])+"$</span> <span class="flyspell-duplicate">etex</span>); +l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[nz-1])+"$</span> etex); "}; -TestS:=(sign(evalf(LL[0]-ao))==sign(evalf(LL[1]-ao))) or (sign(evalf(LL[0]-ao))==0.0) or (sign(evalf(LL[1]-<span class="flyspell-duplicate">ao</span>))==0.0); +TestS:=(sign(evalf(LL[0]-ao))==sign(evalf(LL[1]-ao))) or (sign(evalf(LL[0]-ao))==0.0) or (sign(evalf(LL[1]-ao))==0.0); k0:= evalf(limit(f(x),x=Z[0],1))> evalf(limit(f(x),x=Z[1],-1)); kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[nz-2],1)); -<span class="flyspell-duplicate">lsi</span>:=lsic+nom+"'("+nomv+")}<span class="font-latex-math">$ etex);"+ +lsi:=lsic+nom+"'("+nomv+")}<span class="font-latex-math">$ etex);"+ if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){ if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+ - if(sign(fp((Z[0]+10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-10))))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+ - if(sign(fp(10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-10)+Z[0]))==1){"plus;"}else{"moins;"} }}+if(TestS==0){"valBarre(btex$</span> <span class="font-latex-math">$ etex);"+ if(sign(fp(10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-10)+Z[0]))==1){"plus;"}else{"moins;"}}else{" "}; + if(sign(fp((Z[0]+10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-3))))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+ + if(sign(fp(10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-3)+Z[0]))==1){"plus;"}else{"moins;"} }}+if(TestS==0){"valBarre(btex$</span> <span class="font-latex-math">$ etex);"+ if(sign(fp(10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-3)+Z[0]))==1){"plus;"}else{"moins;"}}else{" "}; -if(nz>2){rr:=1; if(nz==NL){for(r:=1; r<=NL-2;r++){ TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-</span><span class="font-latex-math"><span class="flyspell-duplicate">ao</span></span><span class="font-latex-math">))==0.0); +if(nz>2){rr:=1; if(nz==NL){for(r:=1; r<=NL-2;r++){ TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-ao))==0.0); ksp:=evalf(fp(Z[r]+0.01))>0; TestL:=(abs(LL[r])==abs(LL[r+1])); lsp:=lsp+if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+ - if(ksp==1){"plus;"}else{"moins;"}+if(TestS==0){"valBarre(btex $</span> <span class="font-latex-math">$ etex);"}else{" "}+if(TestS==0){if(ksp==1){"plus;"}else{"moins;"}}</span><span class="font-latex-math"><span class="flyspell-duplicate">else</span></span><span class="font-latex-math">{" "}; + if(ksp==1){"plus;"}else{"moins;"}+if(TestS==0){"valBarre(btex $</span> <span class="font-latex-math">$ etex);"}else{" "}+if(TestS==0){if(ksp==1){"plus;"}else{"moins;"}}else{" "}; }} -</span><span class="font-latex-math"><span class="flyspell-duplicate">else</span></span><span class="font-latex-math">{for(r:=1; r<=NL-2;r++){kspp:=evalf(fp(Z[rr]+0.01))>0;TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-</span><span class="font-latex-math"><span class="flyspell-duplicate">ao</span></span><span class="font-latex-math">))==0.0); +else{for(r:=1; r<=NL-2;r++){kspp:=evalf(fp(Z[rr]+0.01))>0;TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-ao))==0.0); TestL:=(abs(LL[r])==abs(LL[r+1])); if(TestS==0){if( TestL==1 ){lsp:=lsp}else{lsp:=lsp+if(member(Z[rr],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+ - if(kspp==1){"plus;"}else{"moins;"}+"valBarre(btex $</span> <span class="font-latex-math">$ etex);"+if(kspp==1){"plus;"}else{"moins;"};rr:=</span><span class="font-latex-math"><span class="flyspell-duplicate">rr</span></span><span class="font-latex-math">+1;} + if(kspp==1){"plus;"}else{"moins;"}+"valBarre(btex $</span> <span class="font-latex-math">$ etex);"+if(kspp==1){"plus;"}else{"moins;"};rr:=rr+1;} } else{lsp:=lsp+if(member(Z[rr],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+ - if(kspp==1){"plus;"}else{"moins;"};rr:=</span><span class="font-latex-math"><span class="flyspell-duplicate">rr</span></span><span class="font-latex-math">+1;} + if(kspp==1){"plus;"}else{"moins;"};rr:=rr+1;} }} }; -</span><span class="font-latex-math"><span class="flyspell-duplicate">lsf</span></span><span class="font-latex-math">:=if(member(Z[nz-1],F)==0){""}else{"nonDefBarre;"} -</span><span class="font-latex-math"><span class="flyspell-duplicate">lm</span></span><span class="font-latex-math">0:=limit(f(x),x=Z[0],1)==-</span><span class="font-latex-math"><span class="flyspell-duplicate">infinity</span></span><span class="font-latex-math">; +lsf:=if(member(Z[nz-1],F)==0){""}else{"nonDefBarre;"} +lm0:=limit(f(x),x=Z[0],1)==-infinity; TestS:=(sign(evalf(LL[0]-ao))==sign(evalf(LL[1]-ao))) or (sign(evalf(LL[0]-ao))==0.0) or (sign(evalf(LL[1]-ao))==0.0); @@ -1286,7 +1280,7 @@ if(TestS==0){if( TestL==1 ){lp:=lp}else{ lp:=lp+if(member(Z[rr],F)) { }//testS==0 else{lp:=lp+if(member(Z[rr],F)){ "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[rr],-1)))}+"$</span> etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[rr],1)))}+"$</span> etex,"+if(krp==1){"1);"}else{"0);"}} - else{"valPos(btex <span class="font-latex-math">$"+latex(simplify(f(Z[</span><span class="font-latex-math"><span class="flyspell-duplicate">rr</span></span><span class="font-latex-math">])))+"$</span> + else{"valPos(btex <span class="font-latex-math">$"+latex(simplify(f(Z[rr])))+"$</span> etex,"+if(sign(evalf(fp(Z[rr]-0.01)))==sign(fp(Z[rr]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0); "}}};rr:=rr+1; }//else testS==0 @@ -1296,63 +1290,63 @@ else{lp:=lp+if(member(Z[rr],F)){ };//if nz>2 -lnz:=limit(f(x),x=Z[nz-1],-1)==-<span class="flyspell-duplicate">infinity</span>; +lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity; -<span class="flyspell-duplicate">lf</span>:=if(member(Z[nz-1],F)==0){"valPos(btex <span class="font-latex-math">$"+ +lf:=if(member(Z[nz-1],F)==0){"valPos(btex <span class="font-latex-math">$"+ if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"+ if(kz==1){"1);"}else{"0);"}} else{"limGauche(btex <span class="font-latex-math">$"+ if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"+ - if(kz==1){"1);nonDefBarre;"}else{"0);<span class="flyspell-duplicate">nonDefBarre</span>;"}}; + if(kz==1){"1);nonDefBarre;"}else{"0);nonDefBarre;"}}; -MetaLfc:= if(ftt==2){if(nz>2){"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +MetaLfc:= if(ftt==2){if(nz>2){"beginTableau("+nmr+")"+ l0+lsi+lsp+lsf+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}else{ "beginTableau("+nmr+")"+ l0+ -<span class="flyspell-duplicate">lsi</span>+lsf+" -<span class="flyspell-duplicate">endTableau</span>; +lsi+lsf+" +endTableau; "; } }else{ -if(ftt==0){if(nz>2){"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+ l0+ li+ lp+ lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; -";}else{"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +";}else{"beginTableau("+nmr+")"+ l0+ li+ -<span class="flyspell-duplicate">lf</span> +lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}}else{ if(nz>2){"beginTableau("+nmr+")"+ l0+ lsi+lsp+lsf+ li+ -<span class="flyspell-duplicate">lp</span>+ -<span class="flyspell-duplicate">lf</span> +lp+ +lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; -";}else{"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +";}else{"beginTableau("+nmr+")"+ l0+ -<span class="flyspell-duplicate">lsi</span>+lsf+ +lsi+lsf+ li+ lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";} }}; @@ -1360,7 +1354,7 @@ lf sortie:=fopen("XCasmpfc.mp"); -<span class="flyspell-duplicate">fprint</span>(sortie,Unquoted,MetaLfc); +fprint(sortie,Unquoted,MetaLfc); fclose(sortie); @@ -1387,14 +1381,14 @@ fclose(sortie); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTVIapp.cxx} -<span class="flyspell-duplicate">TVIapp</span>(L,F,nom,nomv,f,ftt,ao,<span class="flyspell-duplicate">nmr</span>):={ +TVIapp(L,F,nom,nomv,f,ftt,ao,nmr):={ -<span class="flyspell-duplicate">nl</span>:=size(L); +nl:=size(L); f:=unapply(f,x); fp:=function_diff(f); z0:=concat(L,F);z:=sort(z0); -<span class="flyspell-duplicate">nz</span>:=size(z); +nz:=size(z); @@ -1402,7 +1396,7 @@ z0:=concat(L,F);z:=sort(z0); S:=NULL; if(L==[-infinity,+infinity]){j:=[seq(-100+k,k=0..200)]minus F;for k in j do S:=S,fsolve(fp(x),x,k/10,newton_solver);end_for} -<span class="flyspell-duplicate">else</span>{if(L[0]==-infinity){j:=[seq(k,k=100..floor(L[1]))] minus F;for k in j do S:=S,fsolve(fp(x),x,k/10,newton_solver);end_for} +else{if(L[0]==-infinity){j:=[seq(k,k=100..floor(L[1]))] minus F;for k in j do S:=S,fsolve(fp(x),x,k/10,newton_solver);end_for} else{if(L[1]==+infinity){j:=[seq(k,k=floor(L[0])..100)] minus F;for k in j do S:=S,fsolve(fp(x),x,k/10,newton_solver);end_for;} else{ j:=[seq(k,k=floor(z[0])..floor(z[nz-1]))] minus F;for k in j do S:=S,fsolve(fp(x),x,k/10,newton_solver);end_for; }}}; @@ -1417,7 +1411,7 @@ si size(S)>0 alors pour j de 0 jusque size(S)-1 faire kk:=(re(S[j])==S[j]);kok:=(evalf(S[j])>=L[0]) and (evalf(S[j])<=L[1]); if(kk==1){if(kok==1){z:=append(z,simplify(S[j]))}}; fpour; -<span class="flyspell-duplicate">fsi</span>; +fsi; S:=NULL; @@ -1431,7 +1425,7 @@ z:=[S]; Z:=sort(z); -<span class="flyspell-duplicate">nz</span>:=size(Z); +nz:=size(Z); S:=NULL; S:=S,Z[0]; @@ -1442,68 +1436,68 @@ for(j:=1;j<nz;j++){ Z:=[S]; -<span class="flyspell-duplicate">nz</span>:=size(Z); -l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";<span class="flyspell-duplicate">lsp</span>:=" "; +nz:=size(Z); +l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";lsp:=" "; LI:=limit(f(x),x,Z[0],1); -<span class="flyspell-duplicate">LF</span>:=limit(f(x),x,Z[nz-1],-1); -<span class="flyspell-duplicate">LP</span>:=NULL; +LF:=limit(f(x),x,Z[nz-1],-1); +LP:=NULL; if(nz>2){ for(r:=1; r<=nz-2;r++){LP:=LP,if(member(Z[r],F)){limit(f(x),x,Z[r],-1),limit(f(x),x,Z[r],1)}else{f(Z[r])}}}; if(nz>2){ LL:=[LI,LP,LF]}else{LL:=[LI,LF]}; -<span class="flyspell-duplicate">NL</span>:=size(LL); -A:=NULL;aa:=1;<span class="flyspell-duplicate">kk</span>:=0; +NL:=size(LL); +A:=NULL;aa:=1;kk:=0; if(NL==nz){for(k:=0;k<nz-1;k++){TestS:=(sign(evalf(LL[k]-ao))==sign(evalf(LL[k+1]-ao))) or (sign(evalf(LL[k]-ao))==0.0)or (sign(evalf(LL[k+1]-ao))==0.0); if(TestS==0){A:=A,aa;l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[k])+"$</span> etex);"+"val(btex <span class="font-latex-math">$\\alpha_</span><span class="font-latex-subscript"><span class="font-latex-math">"</span></span><span class="font-latex-math">+aa+"$</span> etex);";aa:=aa+1;}else{l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[k])+"$</span> etex);"}} -l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[nz-1])+"$</span> <span class="flyspell-duplicate">etex</span>);"}; +l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[nz-1])+"$</span> etex);"}; if(NL>nz){for(k:=0;k<NL-1;k++){TestS:=(sign(evalf(LL[k]-ao))==sign(evalf(LL[k+1]-ao))) or (sign(evalf(LL[k]-ao))==0.0)or (sign(evalf(LL[k+1]-ao))==0.0); -<span class="flyspell-duplicate">TestL</span>:=(abs(LL[k])==abs(LL[k+1])); +TestL:=(abs(LL[k])==abs(LL[k+1])); if(TestS==0){ if( TestL==1 ){l0:=l0}else{ A:=A,aa;l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[kk])+"$</span> etex);"+"val(btex <span class="font-latex-math">$\\alpha_</span><span class="font-latex-subscript"><span class="font-latex-math">"</span></span><span class="font-latex-math">+aa+"$</span> etex);";aa:=aa+1;kk:=kk+1}}else{l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[kk])+"$</span> etex);";kk:=kk+1}} -l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[nz-1])+"$</span> <span class="flyspell-duplicate">etex</span>); +l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[nz-1])+"$</span> etex); "}; -TestS:=(sign(evalf(LL[0]-ao))==sign(evalf(LL[1]-ao))) or (sign(evalf(LL[0]-ao))==0.0) or (sign(evalf(LL[1]-<span class="flyspell-duplicate">ao</span>))==0.0); +TestS:=(sign(evalf(LL[0]-ao))==sign(evalf(LL[1]-ao))) or (sign(evalf(LL[0]-ao))==0.0) or (sign(evalf(LL[1]-ao))==0.0); k0:= evalf(limit(f(x),x=Z[0],1))> evalf(limit(f(x),x=Z[1],-1)); - kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[<span class="flyspell-duplicate">nz</span>-2],1)); + kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[nz-2],1)); -<span class="flyspell-duplicate">lsi</span>:=lsic+nom+"'("+nomv+")}<span class="font-latex-math">$ etex);"+ +lsi:=lsic+nom+"'("+nomv+")}<span class="font-latex-math">$ etex);"+ if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){ if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+ - if(sign(fp((Z[0]+10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-10))))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+ - if(sign(fp(10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-10)+Z[0]))==1){"plus;"}else{"moins;"} }}+if(TestS==0){"valBarre(btex$</span> <span class="font-latex-math">$ etex);"+ if(sign(fp(10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-10)+Z[0]))==1){"plus;"}else{"moins;"}}else{" "}; + if(sign(fp((Z[0]+10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-3))))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+ + if(sign(fp(10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-3)+Z[0]))==1){"plus;"}else{"moins;"} }}+if(TestS==0){"valBarre(btex$</span> <span class="font-latex-math">$ etex);"+ if(sign(fp(10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-3)+Z[0]))==1){"plus;"}else{"moins;"}}else{" "}; -if(nz>2){rr:=1; if(nz==NL){for(r:=1; r<=NL-2;r++){ TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-</span><span class="font-latex-math"><span class="flyspell-duplicate">ao</span></span><span class="font-latex-math">))==0.0); +if(nz>2){rr:=1; if(nz==NL){for(r:=1; r<=NL-2;r++){ TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-ao))==0.0); ksp:=evalf(fp(Z[r]+0.01))>0; TestL:=(abs(LL[r])==abs(LL[r+1])); - lsp:=lsp+if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}else{"</span><span class="font-latex-math"><span class="flyspell-duplicate">nonDefBarre</span></span><span class="font-latex-math">;"}+ + lsp:=lsp+if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+ if(ksp==1){"plus;"}else{"moins;"}+if(TestS==0){"valBarre(btex $</span> <span class="font-latex-math">$ etex);"}else{" "}+if(TestS==0){if(ksp==1){"plus;"}else{"moins;"}}else{" "}; }} -</span><span class="font-latex-math"><span class="flyspell-duplicate">else</span></span><span class="font-latex-math">{for(r:=1; r<=NL-2;r++){kspp:=evalf(fp(Z[rr]+0.01))>0;TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-ao))==0.0); +else{for(r:=1; r<=NL-2;r++){kspp:=evalf(fp(Z[rr]+0.01))>0;TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-ao))==0.0); TestL:=(abs(LL[r])==abs(LL[r+1])); - if(TestS==0){if( TestL==1 ){lsp:=lsp}else{lsp:=lsp+if(member(Z[rr],F)==0){"valBarre(btex 0 etex);"}else{"</span><span class="font-latex-math"><span class="flyspell-duplicate">nonDefBarre</span></span><span class="font-latex-math">;"}+ - if(kspp==1){"plus;"}else{"moins;"}+"valBarre(btex $</span> <span class="font-latex-math">$ etex);"+if(kspp==1){"plus;"}else{"moins;"};rr:=</span><span class="font-latex-math"><span class="flyspell-duplicate">rr</span></span><span class="font-latex-math">+1;} - } else{lsp:=lsp+if(member(Z[rr],F)==0){"valBarre(btex 0 etex);"}else{"</span><span class="font-latex-math"><span class="flyspell-duplicate">nonDefBarre</span></span><span class="font-latex-math">;"}+ - if(kspp==1){"plus;"}else{"moins;"};rr:=</span><span class="font-latex-math"><span class="flyspell-duplicate">rr</span></span><span class="font-latex-math">+1;} + if(TestS==0){if( TestL==1 ){lsp:=lsp}else{lsp:=lsp+if(member(Z[rr],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+ + if(kspp==1){"plus;"}else{"moins;"}+"valBarre(btex $</span> <span class="font-latex-math">$ etex);"+if(kspp==1){"plus;"}else{"moins;"};rr:=rr+1;} + } else{lsp:=lsp+if(member(Z[rr],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+ + if(kspp==1){"plus;"}else{"moins;"};rr:=rr+1;} }} }; -</span><span class="font-latex-math"><span class="flyspell-duplicate">lsf</span></span><span class="font-latex-math">:=if(member(Z[nz-1],F)==0){""}else{"</span><span class="font-latex-math"><span class="flyspell-duplicate">nonDefBarre</span></span><span class="font-latex-math">;"} -</span><span class="font-latex-math"><span class="flyspell-duplicate">lm</span></span><span class="font-latex-math">0:=limit(f(x),x=Z[0],1)==-infinity; +lsf:=if(member(Z[nz-1],F)==0){""}else{"nonDefBarre;"} +lm0:=limit(f(x),x=Z[0],1)==-infinity; -TestS:=(sign(evalf(LL[0]-ao))==sign(evalf(LL[1]-ao))) or (sign(evalf(LL[0]-ao))==0.0) or (sign(evalf(LL[1]-</span><span class="font-latex-math"><span class="flyspell-duplicate">ao</span></span><span class="font-latex-math">))==0.0); +TestS:=(sign(evalf(LL[0]-ao))==sign(evalf(LL[1]-ao))) or (sign(evalf(LL[0]-ao))==0.0) or (sign(evalf(LL[1]-ao))==0.0); li:=lvic+nom+"}$</span> etex); "+ if(member(Z[0],F)==0){"valPos(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$</span> etex,"} @@ -1536,7 +1530,7 @@ if(TestS==0){if( TestL==1 ){lp:=lp}else{ lp:=lp+if(member(Z[rr],F)) { }//testS==0 else{lp:=lp+if(member(Z[rr],F)){ "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[rr],-1)))}+"$</span> etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[rr],1)))}+"$</span> etex,"+if(krp==1){"1);"}else{"0);"}} - else{"valPos(btex <span class="font-latex-math">$"+latex(simplify(f(Z[</span><span class="font-latex-math"><span class="flyspell-duplicate">rr</span></span><span class="font-latex-math">])))+"$</span> + else{"valPos(btex <span class="font-latex-math">$"+latex(simplify(f(Z[rr])))+"$</span> etex,"+if(sign(evalf(fp(Z[rr]-0.01)))==sign(fp(Z[rr]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0); "}}};rr:=rr+1; }//else testS==0 @@ -1546,7 +1540,7 @@ else{lp:=lp+if(member(Z[rr],F)){ };//if nz>2 -lnz:=limit(f(x),x=Z[nz-1],-1)==-<span class="flyspell-duplicate">infinity</span>; +lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity; @@ -1554,8 +1548,8 @@ lf:=if(member(Z[nz-1],F)==0){"valPos(btex <span class="font-latex-math">$"+ if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"+ if(kz==1){"1);"}else{"0);"}} else{"limGauche(btex <span class="font-latex-math">$"+ - if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$</span> <span class="flyspell-duplicate">etex</span>,"+ - if(kz==1){"1);nonDefBarre;"}else{"0);<span class="flyspell-duplicate">nonDefBarre</span>;"}}; + if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"+ + if(kz==1){"1);nonDefBarre;"}else{"0);nonDefBarre;"}}; @@ -1563,50 +1557,50 @@ lf:=if(member(Z[nz-1],F)==0){"valPos(btex <span class="font-latex-math">$"+ -<span class="flyspell-duplicate">MetaLfc</span>:= if(ftt==2){if(nz>2){"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +MetaLfc:= if(ftt==2){if(nz>2){"beginTableau("+nmr+")"+ l0+lsi+lsp+lsf+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}else{ -"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +"beginTableau("+nmr+")"+ l0+ -<span class="flyspell-duplicate">lsi</span>+lsf+" -<span class="flyspell-duplicate">endTableau</span>; +lsi+lsf+" +endTableau; "; } }else{ -if(ftt==0){if(nz>2){"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+ l0+ li+ -<span class="flyspell-duplicate">lp</span>+ -<span class="flyspell-duplicate">lf</span> +lp+ +lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; -";}else{"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +";}else{"beginTableau("+nmr+")"+ l0+ li+ -<span class="flyspell-duplicate">lf</span> +lf +" endTableau; ";}}else{ if(nz>2){"beginTableau("+nmr+")"+ l0+ -<span class="flyspell-duplicate">lsi</span>+lsp+lsf+ +lsi+lsp+lsf+ li+ lp+ -<span class="flyspell-duplicate">lf</span> +lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}else{"beginTableau("+nmr+")"+ l0+ lsi+lsf+ li+ -<span class="flyspell-duplicate">lf</span> +lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";} }}; @@ -1615,7 +1609,7 @@ li+ sortie:=fopen("XCasmpfc.mp"); fprint(sortie,Unquoted,MetaLfc); -<span class="flyspell-duplicate">fclose</span>(sortie); +fclose(sortie); }:; @@ -1632,7 +1626,7 @@ fprint(sortie,Unquoted,MetaLfc); <span class="comment-delimiter">%%</span><span class="comment"> -</span><span class="comment-delimiter">%% </span><span class="comment">Code giac/Xcas pour les Tableaux de variations de courbes </span><span class="comment"><span class="flyspell-duplicate">parametrees</span></span><span class="comment"> +</span><span class="comment-delimiter">%% </span><span class="comment">Code giac/Xcas pour les Tableaux de variations de courbes parametrees </span><span class="comment-delimiter">%%</span><span class="comment"> </span> @@ -1644,24 +1638,24 @@ fprint(sortie,Unquoted,MetaLfc); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTVP.cxx} TVP(L,F,nom,nomv,ff,ftt,trigo,nmr):={ //local Z,LLL,FFF,nl,fp,f,S,d,t,ns,k,m,x,j,kk,nz,u,l0; -<span class="flyspell-duplicate">nl</span>:=size(L); -<span class="flyspell-duplicate">fp</span>:=[]; +nl:=size(L); +fp:=[]; S:=[]; -f:=<span class="flyspell-duplicate">ff</span>; +f:=ff; Z:=[]; -<span class="flyspell-duplicate">LLL</span>:=[]; +LLL:=[]; all_trig_solutions:=1; -<span class="flyspell-duplicate">reset</span>_solve_counter(-1,-1); +reset_solve_counter(-1,-1); for(d:=0;d<=1;d++){ f:=subst(f,f[d]=unapply(f[d],t)); -<span class="flyspell-duplicate">fp</span>:=append(fp,function_<span class="flyspell-duplicate">diff</span>(f[d])); +fp:=append(fp,function_diff(f[d])); LLL:=concat(L,F[d]); Z:=LLL union Z; SS:=solve(factor(simplify(fp[d](t))),t); -ns:=size(<span class="flyspell-duplicate">SS</span>); +ns:=size(SS); for(k:=0;k<ns;k++){ if(trigo==t){ @@ -1671,29 +1665,29 @@ while(evalf(simplify(subst(SS[k],n_1=m)))<=evalf(L[nl-1])){ S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m+1; };m:=-1; -<span class="flyspell-duplicate">while</span>(evalf(subst(SS[k],n_1=m))>=L[0]){ +while(evalf(subst(SS[k],n_1=m))>=L[0]){ S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m-1; } }else{ -S:=concat(S,<span class="flyspell-duplicate">SS</span>); +S:=concat(S,SS); } } si size(S)>0 alors pour j de 0 jusque size(S)-1 faire qq:=member(simplify(S[j]),Z)==0; - kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[<span class="flyspell-duplicate">nl</span>-1])); + kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[nl-1])); if(kk==1){if(qq==1){Z:=append(Z,simplify(S[j]))}}; - <span class="flyspell-duplicate">fpour</span> + fpour fsi; Z:=sort(Z); -<span class="flyspell-duplicate">nz</span>:=size(Z); +nz:=size(Z); tantque evalf(Z[0])==evalf(Z[1]) faire Z:=Z[1..nz-1];nz:=size(Z); - <span class="flyspell-duplicate">ftantque</span>; + ftantque; @@ -1703,44 +1697,44 @@ u:=1; tantque (u<nz-2) and (nz>2) faire tantque evalf(Z[u])==evalf(Z[u+1]) faire Z:=augment(Z[0..u-1],Z[u+1..nz-1]);nz:=size(Z); - <span class="flyspell-duplicate">ftantque</span>; + ftantque; u:=u+1; - <span class="flyspell-duplicate">ftantque</span>; + ftantque; }; Z:=sort(Z); -<span class="flyspell-duplicate">nz</span>:=size(Z); +nz:=size(Z); l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:="",""; lf:="","";lsp:="",""; pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> etex); -";<span class="flyspell-duplicate">fpour</span>; +";fpour; lsi:="",""; -<span class="flyspell-duplicate">FFF</span>:=[[],[]]; +FFF:=[[],[]]; for(d:=0;d<=1;d++){ -<span class="flyspell-duplicate">FFF</span>[d]:=concat(F[d],[-infinity,+<span class="flyspell-duplicate">infinity</span>]); +FFF[d]:=concat(F[d],[-infinity,+infinity]); k0:= evalf(limit(f[d](x),x=Z[0],1))> evalf(limit(f[d](x),x=Z[1],-1)); - kz:=evalf(limit(f[d](x),x=Z[nz-1],-1))> evalf(limit(f[d](x),x=Z[<span class="flyspell-duplicate">nz</span>-2],1)); + kz:=evalf(limit(f[d](x),x=Z[nz-1],-1))> evalf(limit(f[d](x),x=Z[nz-2],1)); //} //<span class="font-latex-math">$ - lsi[d]:=lsic+nom[d]+"'("+nomv+")}$</span> etex);"+if(member(Z[0],FFF[d])==0){"valBarre(btex <span class="font-latex-math">$"+latex(simplify(fp[d](Z[0])))+"$</span> etex);"}else{if(Z[0]==-infinity){" "}else{"<span class="flyspell-duplicate">nonDefBarre</span>; + lsi[d]:=lsic+nom[d]+"'("+nomv+")}$</span> etex);"+if(member(Z[0],FFF[d])==0){"valBarre(btex <span class="font-latex-math">$"+latex(simplify(fp[d](Z[0])))+"$</span> etex);"}else{if(Z[0]==-infinity){" "}else{"nonDefBarre; "}}+ if(Z[0]==-infinity){if(sign(evalf(fp[d](if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F[d])==0){ if(sign(fp[d](Z[0]+10^(-5)))==1){"plus;"}else{"moins;"}}else{ if(sign(fp[d]((Z[0]+10^(-5))))==1){"plus;"}else{"moins;"} }} if(nz>2){ for(r:=1; r<=nz-2;r++){ ksp:=evalf(fp[d](Z[r]+0.01))>0; - lsp[d]:=lsp[d]+if(member(Z[r],F[d])==0){"valBarre(btex <span class="font-latex-math">$"+latex(simplify(fp[d](Z[r])))+"$</span> etex);"}else{"<span class="flyspell-duplicate">nonDefBarre</span>;"}+ + lsp[d]:=lsp[d]+if(member(Z[r],F[d])==0){"valBarre(btex <span class="font-latex-math">$"+latex(simplify(fp[d](Z[r])))+"$</span> etex);"}else{"nonDefBarre;"}+ if(ksp==1){"plus;"}else{"moins;"} }; } -lsf[d]:=if(member(Z[nz-1],FFF[d])==0){"valBarre(btex <span class="font-latex-math">$"+latex(simplify(fp[d](Z[nz-1])))+"$</span> etex);"}else{if(Z[nz-1]==+infinity){" "}else{"<span class="flyspell-duplicate">nonDefBarre</span>;"}} +lsf[d]:=if(member(Z[nz-1],FFF[d])==0){"valBarre(btex <span class="font-latex-math">$"+latex(simplify(fp[d](Z[nz-1])))+"$</span> etex);"}else{if(Z[nz-1]==+infinity){" "}else{"nonDefBarre;"}} @@ -1766,7 +1760,7 @@ for(d:=0;d<=1;d++){ //{ //<span class="font-latex-math">$ lm0[d]:=limit(f[d](x),x,Z[0],1)==-infinity; - li[d]:=lvic+nom[d]+"}$</span> <span class="flyspell-duplicate">etex</span>);"+ + li[d]:=lvic+nom[d]+"}$</span> etex);"+ if(member(Z[0],F[d])==0){"valPos(btex <span class="font-latex-math">$"+if(lm0[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x,Z[0],1)))}+"$</span> etex,"} else{"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lm0[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x,Z[0],1)))}+"$</span> etex,"}+ if(K0[d]==1){"1"}else{"0"}+ @@ -1780,19 +1774,19 @@ lm0[d]:=limit(f[d](x),x,Z[0],1)==-infinity; <span class="font-latex-math">$"+if(lmrm[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x,Z[r],-1)))}+"$</span> etex,"+if(krm[d]==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x,Z[r],1)))}+"$</span> etex,"+if(krp[d]==1){"1);"}else{"0);"}} else{"valPos(btex <span class="font-latex-math">$"+latex(simplify(f[d](Z[r])))+"$</span> - etex,"+if(sign(evalf(fp[d](Z[r]-0.001)))==sign(evalf((fp[d](Z[r]+0.001))) )){"0.5);"}else{if(krp[d]==1){"1);"}<span class="flyspell-duplicate">else</span>{"0); + etex,"+if(sign(evalf(fp[d](Z[r]-0.001)))==sign(evalf((fp[d](Z[r]+0.001))) )){"0.5);"}else{if(krp[d]==1){"1);"}else{"0); "}}} }; } -<span class="flyspell-duplicate">lnz</span>[d]:=limit(f[d](x),x=Z[nz-1],-1)==-<span class="flyspell-duplicate">infinity</span>; +lnz[d]:=limit(f[d](x),x=Z[nz-1],-1)==-infinity; -<span class="flyspell-duplicate">lf</span>[d]:=if(member(Z[nz-1],F[d])==0){"valPos(<span class="flyspell-duplicate">btex</span> <span class="font-latex-math">$"+ - if(lnz[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x=Z[nz-1],-1)))}+"$</span> <span class="flyspell-duplicate">etex</span>,"+ - if(<span class="flyspell-duplicate">Kz</span>[d]==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}} - else{"limGauche(<span class="flyspell-duplicate">btex</span> <span class="font-latex-math">$"+ - if(lnz[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x=Z[nz-1],-1)))}+"$</span> <span class="flyspell-duplicate">etex</span>,"+ - if(<span class="flyspell-duplicate">Kz</span>[d]==1){"1);nonDefBarre;"}else{"0);<span class="flyspell-duplicate">nonDefBarre</span>;"}}; +lf[d]:=if(member(Z[nz-1],F[d])==0){"valPos(btex <span class="font-latex-math">$"+ + if(lnz[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x=Z[nz-1],-1)))}+"$</span> etex,"+ + if(Kz[d]==1){"1);"}else{"0);"}} + else{"limGauche(btex <span class="font-latex-math">$"+ + if(lnz[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x=Z[nz-1],-1)))}+"$</span> etex,"+ + if(Kz[d]==1){"1);nonDefBarre;"}else{"0);nonDefBarre;"}}; @@ -1808,17 +1802,17 @@ lm0[d]:=limit(f[d](x),x,Z[0],1)==-infinity; -<span class="flyspell-duplicate">MetaLfc</span>:=if(ftt==2){if(nz>2){" +MetaLfc:=if(ftt==2){if(nz>2){" beginTableau("+nmr+")"+ l0+lsi[0]+lsp[0]+lsf[0]+lsi[1]+lsp[1]+lsf[1]+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}else{ intro+"beginTableau("+nmr+")"+ l0+ lsi[0]+lsf[0]+lsi[1]+lsf[1]+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; "; } @@ -1826,24 +1820,24 @@ lsi[0]+lsf[0]+lsi[1]+lsf[1]+" l0+ li[0]+ lp[0]+ -<span class="flyspell-duplicate">lf</span>[0]+ +lf[0]+ li[1]+ lp[1]+ lf[1] +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}else{"beginTableau("+nmr+")"+ l0+ li[0]+ lf[0]+ li[1]+ -<span class="flyspell-duplicate">lf</span>[1] +lf[1] +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}}else{ -if(nz>2){"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +if(nz>2){"beginTableau("+nmr+")"+ l0+ lsi[0]+lsp[0]+lsf[0]+ li[0]+ @@ -1854,18 +1848,18 @@ li[1]+ lp[1]+ lf[1] +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}else{"beginTableau("+nmr+")"+ l0+ lsi[0]+lsf[0]+ li[0]+ lf[0]+ -<span class="flyspell-duplicate">lsi</span>[1]+lsf[1]+ +lsi[1]+lsf[1]+ li[1]+ lf[1] +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";} } @@ -1895,7 +1889,7 @@ TS(nomf,L,D,trigo,nmr):={ L:=apply(f->unapply(f,x),L) n:=size(L); Z:=NULL; -<span class="flyspell-duplicate">nl</span>:=size(L); +nl:=size(L); S:=[]; mini:=D[0]; maxi:=D[1]; @@ -1907,7 +1901,7 @@ pour k de 0 jusque n-1 faire if(trigo==t){ all_trig_solutions:=1; reset_solve_counter(-1,-1); -<span class="flyspell-duplicate">SS</span>:=solve(factor(simplify(L[k](x))),x); +SS:=solve(factor(simplify(L[k](x))),x); ns:=size(SS); for(j:=0;j<ns;j++){ m:=0; @@ -1930,14 +1924,14 @@ S:=solve(L[k](x),x); if(S[j]>mini and S[j]<maxi){Z:=Z,simplify(S[j]);} fpour; fsi; -<span class="flyspell-duplicate">fpour</span>; +fpour; Z:=sort(Z); -<span class="flyspell-duplicate">nz</span>:=size(Z); +nz:=size(Z); @@ -1946,7 +1940,7 @@ Z:=sort(Z); if(nz>2){pour u de 1 jusque nz-2 faire si Z[u]==Z[u+1] alors Z:=Z[0..u-1],Z[u+1..nz-1];nz:=nz-1; fsi; -<span class="flyspell-duplicate">fpour</span>;}; +fpour;}; nz:=size(Z); if(nz==0){li:="";l0:="val(btex <span class="font-latex-math">$"+latex(D[0])+"$</span> etex);val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> etex);"; @@ -1962,8 +1956,8 @@ if(L[p]((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}+if(maxi!=+infinity and L[p lf:=if(product(L[s]((mini+maxi)*.5),s,0,n-1)>0){"plus;"}else{"moins;"}; -</span><span class="font-latex-math"><span class="flyspell-duplicate">MetaLfc</span></span><span class="font-latex-math">:=" beginTableau("+nmr+") -newLigneVariables(btex $</span> {x}<span class="font-latex-math">$ </span><span class="font-latex-math"><span class="flyspell-duplicate">etex</span></span><span class="font-latex-math">); +MetaLfc:=" beginTableau("+nmr+") +newLigneVariables(btex $</span> {x}<span class="font-latex-math">$ etex); "+l0+li+ lsic+nomf+"(x)}$</span> etex);"+ if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){" valBarre(btex 0 etex);"}else{" @@ -1978,9 +1972,9 @@ endTableau; }else{ l0:="val(btex <span class="font-latex-math">$"+latex(D[0])+"$</span> etex);";li:=" ";lr:=" "; -pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> <span class="flyspell-duplicate">etex</span>); +pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> etex); ";fpour; -l0:=l0+"val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> <span class="flyspell-duplicate">etex</span>);"; +l0:=l0+"val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> etex);"; for(p:=0;p<=n-1;p++){lp:=""; @@ -1999,17 +1993,17 @@ for(p:=0;p<=n-1;p++){lp:=""; li:=li+lp+ if(simplify(L[p](Z[nz-1]))==0){"valBarre(btex 0 etex);"}else{"barre;"}+ if(L[p](Z[nz-1]+1.0)>0){"plus;"}else{"moins; "}+if(maxi!=+infinity and L[p](maxi)==0){" - valBarre(btex 0 etex);"}</span><span class="font-latex-math"><span class="flyspell-duplicate">else</span></span><span class="font-latex-math">{" + valBarre(btex 0 etex);"}else{" "} }; pour t de 0 jusque nz-2 faire - lr:=lr+if(product(L[s]((Z[t]+Z[t+1])*.5),s,0,n-1)>0){"plus;"}else{"moins;"}+"valBarre(btex 0 </span><span class="font-latex-math"><span class="flyspell-duplicate">etex</span></span><span class="font-latex-math">);" + lr:=lr+if(product(L[s]((Z[t]+Z[t+1])*.5),s,0,n-1)>0){"plus;"}else{"moins;"}+"valBarre(btex 0 etex);" fpour MetaLfc:=" beginTableau("+nmr+") -</span><span class="font-latex-math"><span class="flyspell-duplicate">newLigneVariables</span></span><span class="font-latex-math">(btex $</span> {x}<span class="font-latex-math">$ etex); +newLigneVariables(btex $</span> {x}<span class="font-latex-math">$ etex); "+l0+ li + lsic+nomf+"(x)}$</span> etex);"+ @@ -2046,24 +2040,24 @@ fclose(sortie); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTabSignQ.cxx} TSq(nomf,L,Fo,D,trigo,nmr):={ L:=apply(f->unapply(f,x),L); -<span class="flyspell-duplicate">Fo</span>:=apply(f->unapply(f,x),Fo); +Fo:=apply(f->unapply(f,x),Fo); L:=concat(L,Fo); n:=size(L); Z:=NULL; m:=size(Fo); -F:=NULL;FF:=<span class="flyspell-duplicate">NULL</span>; +F:=NULL;FF:=NULL; mini:=D[0]; maxi:=D[1]; S:=[]; -<span class="flyspell-duplicate">SF</span>:=[]; +SF:=[]; pour k de 0 jusque n-1 faire if(trigo==t){ -<span class="flyspell-duplicate">all</span>_trig_solutions:=1; +all_trig_solutions:=1; reset_solve_counter(-1,-1); -<span class="flyspell-duplicate">SS</span>:=solve(factor(simplify(L[k](x))),x); +SS:=solve(factor(simplify(L[k](x))),x); ns:=size(SS); for(j:=0;j<ns;j++){ mm:=0; @@ -2087,25 +2081,25 @@ S:=solve(L[k](x),x); if(S[j]>mini and S[j]<maxi){Z:=Z,simplify(S[j]);} fpour; fsi; -<span class="flyspell-duplicate">fpour</span>; +fpour; pour k de 0 jusque m-1 faire -if(trigo==1){ -<span class="flyspell-duplicate">all</span>_trig_solutions:=1; -<span class="flyspell-duplicate">reset</span>_solve_counter(-1,-1); +if(trigo==t){ +all_trig_solutions:=1; +reset_solve_counter(-1,-1); SSF:=solve(factor(simplify(Fo[k](x))),x); nsf:=size(SSF); for(j:=0;j<nsf;j++){ mm:=0; -<span class="flyspell-duplicate">while</span>(evalf(simplify(subst(SSF[j],n_1=mm)))<=evalf(maxi)){ -<span class="flyspell-duplicate">SF</span>:=concat(SF,simplify(subst(SSF[j],n_1=mm)));mm:=mm+1; +while(evalf(simplify(subst(SSF[j],n_1=mm)))<=evalf(maxi)){ +SF:=concat(SF,simplify(subst(SSF[j],n_1=mm)));mm:=mm+1; };mm:=-1; while(evalf(subst(SSF[j],n_1=mm))>=evalf(mini)){ -<span class="flyspell-duplicate">SF</span>:=concat(SF,simplify(subst(SSF[j],n_1=mm)));mm:=mm-1; +SF:=concat(SF,simplify(subst(SSF[j],n_1=mm)));mm:=mm-1; } } @@ -2116,26 +2110,26 @@ SF:=solve(Fo[j](x),x); si size(SF)>0 alors pour j de 0 jusque size(SF)-1 faire FF:=FF,simplify(SF[j]); if(SF[j]>mini and SF[j]<maxi){F:=F,simplify(SF[j]);} - <span class="flyspell-duplicate">fpour</span>; + fpour; fsi; -<span class="flyspell-duplicate">fpour</span>; +fpour; Z:=sort(Z); // on classe les zeros dans l'ordre croissant -<span class="flyspell-duplicate">nz</span>:=size(Z); +nz:=size(Z); if(nz>2){pour u de 1 jusque nz-2 faire si Z[u]==Z[u+1] alors Z:=Z[0..u-1],Z[u+1..nz-1];nz:=nz-1; // pour les zeros en double fsi; -<span class="flyspell-duplicate">fpour</span>;} +fpour;} Z:=sort(Z); nz:=size(Z); if(nz>2){pour u de 1 jusque nz-2 faire - si Z[u]==Z[u+1] alors Z:=Z[0..u-1],Z[u+1..nz-1];nz:=<span class="flyspell-duplicate">nz</span>-1; + si Z[u]==Z[u+1] alors Z:=Z[0..u-1],Z[u+1..nz-1];nz:=nz-1; fsi; -<span class="flyspell-duplicate">fpour</span>;}; +fpour;}; nz:=size(Z); if(nz==0){li:="";l0:="val(btex <span class="font-latex-math">$"+latex(D[0])+"$</span> etex);val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> etex);"; @@ -2153,9 +2147,9 @@ if(L[p]((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}+if(maxi!=+infinity and L[p -</span><span class="font-latex-math"><span class="flyspell-duplicate">MetaLfc</span></span><span class="font-latex-math">:=" +MetaLfc:=" beginTableau("+nmr+") -newLigneVariables(btex $</span> {x}<span class="font-latex-math">$ </span><span class="font-latex-math"><span class="flyspell-duplicate">etex</span></span><span class="font-latex-math">); +newLigneVariables(btex $</span> {x}<span class="font-latex-math">$ etex); "+l0+li+ lsic+nomf+"(x)}$</span> etex);"+ if(member(mini,FF)==0){if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){" @@ -2172,13 +2166,13 @@ endTableau; -}<span class="flyspell-duplicate">else</span>{ +}else{ l0:="val(btex <span class="font-latex-math">$"+latex(D[0])+"$</span> etex);";li:=" ";lr:=" "; -pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> <span class="flyspell-duplicate">etex</span>); +pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> etex); ";fpour; -l0:=l0+"val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> <span class="flyspell-duplicate">etex</span>);"; +l0:=l0+"val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> etex);"; for(p:=0;p<=n-1;p++){lp:=""; @@ -2197,7 +2191,7 @@ for(p:=0;p<=n-1;p++){lp:=""; li:=li+lp+ if(simplify(L[p](Z[nz-1]))==0){"valBarre(btex 0 etex);"}else{"barre;"}+ if(L[p](Z[nz-1]+1.0)>0){"plus;"}else{"moins; "}+if(maxi!=+infinity and L[p](maxi)==0){" - valBarre(btex 0 etex);"}</span><span class="font-latex-math"><span class="flyspell-duplicate">else</span></span><span class="font-latex-math">{" "} + valBarre(btex 0 etex);"}else{" "} }; @@ -2205,14 +2199,14 @@ for(p:=0;p<=n-1;p++){lp:=""; pour t de 0 jusque nz-2 faire lr:=lr+if(product(L[s]((Z[t]+Z[t+1])*.5),s,0,n-1)>0){"plus;"}else{"moins;"}+ if(member(Z[t+1],FF)==0){"valBarre(btex 0 etex);"}else{ "nonDefBarre;"} - </span><span class="font-latex-math"><span class="flyspell-duplicate">fpour</span></span><span class="font-latex-math"> + fpour -</span><span class="font-latex-math"><span class="flyspell-duplicate">MetaLfc</span></span><span class="font-latex-math">:=" +MetaLfc:=" beginTableau("+nmr+") -newLigneVariables(btex $</span> {x}<span class="font-latex-math">$ </span><span class="font-latex-math"><span class="flyspell-duplicate">etex</span></span><span class="font-latex-math">); +newLigneVariables(btex $</span> {x}<span class="font-latex-math">$ etex); "+l0+ li + @@ -2237,7 +2231,7 @@ endTableau; sortie:=fopen("XCasmpfc.mp"); -<span class="flyspell-duplicate">fprint</span>(sortie,Unquoted,MetaLfc); +fprint(sortie,Unquoted,MetaLfc); fclose(sortie); @@ -2261,15 +2255,15 @@ fclose(sortie); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTabSigna.cxx} TSa(a,b,c,d,nmr):={ zA:=solve(a*x+b=0,x)[0]; -<span class="flyspell-duplicate">zB</span>:=solve(c*x+d=0,x)[0]; +zB:=solve(c*x+d=0,x)[0]; zmin:=min(zA,zB); -<span class="flyspell-duplicate">zmax</span>:=max(zA,<span class="flyspell-duplicate">zB</span>); +zmax:=max(zA,zB); Meta:= " beginTableau("+nmr+") - newLigneVariables(btex <span class="font-latex-math">$ {x}$</span> <span class="flyspell-duplicate">etex</span>); + newLigneVariables(btex <span class="font-latex-math">$ {x}$</span> etex); val(btex <span class="font-latex-math">$-\\infty$</span> etex);val(btex <span class="font-latex-math">$"+latex(zmin)+"$</span> etex); val(btex <span class="font-latex-math">$"+latex(zmax)+"$</span>etex); -val(btex <span class="font-latex-math">$+\\infty$</span> <span class="flyspell-duplicate">etex</span>); +val(btex <span class="font-latex-math">$+\\infty$</span> etex); "+lsic+if(a==1){"x+"}else{if(a==-1){"-x+"}else{a+"x+"}}+b+"}<span class="font-latex-math">$ etex);" + if(a>0){"moins;"}else{"plus;"}+ if(zmin==zA){"valBarre(btex 0 etex);"}else{"barre;"}+ @@ -2280,8 +2274,8 @@ val(btex <span class="font-latex-math">$+\\infty$</span> <span class="flyspell-d +lsic+if(c==1){"x+"}else{if(c==-1){"-x+"}else{c+"x+"}}+d+"}$</span> etex);" + if(c>0){"moins"}else{"plus"}+";"+ if(zmin==zB){"valBarre(btex 0 etex);"}else{"barre;"}+ - if(zmin==zB){si c>0 alors "plus;"; sinon "moins;";<span class="flyspell-duplicate">fsi</span>} - else{si c>0 alors "moins;"; sinon "plus;"; <span class="flyspell-duplicate">fsi</span>}+ + if(zmin==zB){si c>0 alors "plus;"; sinon "moins;";fsi} + else{si c>0 alors "moins;"; sinon "plus;"; fsi}+ if(zmin==zB){"barre;"}else{"valBarre(btex 0 etex);"}+ if(c>0){"plus;"}else{"moins;"} @@ -2298,7 +2292,7 @@ endTableau; sortie:=fopen("XCasmpfc.mp"); -</span><span class="font-latex-math"><span class="flyspell-duplicate">fprint</span></span><span class="font-latex-math">(sortie,Unquoted,Meta); +fprint(sortie,Unquoted,Meta); fclose(sortie); @@ -2318,7 +2312,7 @@ fclose(sortie); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{<span class="flyspell-duplicate">XcasTSc</span>.<span class="flyspell-duplicate">cxx</span>} -<span class="flyspell-duplicate">TSc</span>(g,D,F,trigo,nmr):={ +TSc(g,D,F,trigo,nmr):={ f:=unapply(g,x); mini:=D[0]; maxi:=D[1];lm:=" "; Z:=mini,maxi; @@ -2328,21 +2322,21 @@ S:=[]; if(trigo==t){ all_trig_solutions:=1; -<span class="flyspell-duplicate">reset</span>_solve_counter(-1,-1); -<span class="flyspell-duplicate">SS</span>:=solve(factor(simplify(f(x))),x); -<span class="flyspell-duplicate">ns</span>:=size(SS); +reset_solve_counter(-1,-1); +SS:=solve(factor(simplify(f(x))),x); +ns:=size(SS); for(j:=0;j<ns;j++){ m:=0; while(evalf(simplify(subst(SS[j],n_1=m)))<=evalf(maxi)){ S:=concat(S,simplify(subst(SS[j],n_1=m)));m:=m+1; };m:=-1; -<span class="flyspell-duplicate">while</span>(evalf(subst(SS[j],n_1=m))>=evalf(mini)){ +while(evalf(subst(SS[j],n_1=m))>=evalf(mini)){ S:=concat(S,simplify(subst(SS[j],n_1=m)));m:=m-1; } } }else{ -S:=<span class="flyspell-duplicate">solve</span>(f(x),x); +S:=solve(f(x),x); } @@ -2352,27 +2346,27 @@ S:=<span class="flyspell-duplicate">solve</span>(f(x),x); if(size(S)==0){ l0:="val(btex <span class="font-latex-math">$"+latex(D[0])+"$</span> etex);val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> etex);"; li:=if(member(mini,F)!=0){"nonDefBarre;"}else{if(mini!=-infinity and f(mini)==0){" - valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" + valBarre(btex 0 etex);"}else{" "}}+ if(mini!=-infinity or maxi!=+infinity){if(f((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}}else{if(f(0)>0){"plus;"}else{"moins;"}}; -<span class="flyspell-duplicate">lf</span>:=if(member(maxi,F)!=0){"nonDefBarre;"}else{if(maxi!=+infinity and f(maxi)==0){" - valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" +lf:=if(member(maxi,F)!=0){"nonDefBarre;"}else{if(maxi!=+infinity and f(maxi)==0){" + valBarre(btex 0 etex);"}else{" "}}; } -<span class="flyspell-duplicate">else</span>{pour j de 0 jusque size(S)-1 faire - if(S[j]>mini and S[j]<maxi){Z:=Z,<span class="flyspell-duplicate">simplify</span>(S[j])}; +else{pour j de 0 jusque size(S)-1 faire + if(S[j]>mini and S[j]<maxi){Z:=Z,simplify(S[j])}; fpour; Z:=concat([Z],F); Z:=sort(Z); -<span class="flyspell-duplicate">nz</span>:=size(Z); +nz:=size(Z); if(nz>2){pour u de 1 jusque nz-2 faire si Z[u]==Z[u+1] alors Z:=concat(Z[0..u-1],Z[u+1..nz-1]);nz:=nz-1; fsi; -<span class="flyspell-duplicate">fpour</span>;} +fpour;} if(Z[0]==Z[1]){Z:=Z[1..nz-1];nz:=nz-1;} -if(Z[nz-2]==Z[nz-1]){Z:=Z[0..nz-2];nz:=<span class="flyspell-duplicate">nz</span>-1;} +if(Z[nz-2]==Z[nz-1]){Z:=Z[0..nz-2];nz:=nz-1;} nz:=size(Z); l0:=" ";li:=" ";lr:=" "; @@ -2381,29 +2375,32 @@ li:=if(mini!=-infinity and f(mini)==0){" valBarre(btex 0 etex);"}else{if(member(mini,F)==0){" "}else{"nonDefBarre;"}}+ if(f((mini+maxi)*0.5)>0){"plus;"}else{"moins;"}; -lf:=if(maxi!=+infinity and f(<span class="flyspell-duplicate">maxi</span>)==0){" +lf:=if(maxi!=+infinity and f(maxi)==0){" valBarre(btex 0 etex);"}else{if(member(maxi,F)==0){" - "}else{"<span class="flyspell-duplicate">nonDefBarre</span>;"} + "}else{"nonDefBarre;"} }; -}<span class="flyspell-duplicate">else</span>{ +}else{ l0:="val(btex <span class="font-latex-math">$"+latex(Z[0])+"$</span> etex);";li:=" "; -pour m de 1 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> <span class="flyspell-duplicate">etex</span>); +pour m de 1 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> etex); "; -<span class="flyspell-duplicate">fpour</span>; +fpour; li:= if(mini!=-infinity and f(mini)==0){" valBarre(btex 0 etex);"}else{if(member(mini,F)==0){" - "}else{"<span class="flyspell-duplicate">nonDefBarre</span>;"} + "}else{"nonDefBarre;"} } -lm:=if(nz>2){for(r:=0; r<nz-2;r++){lm:=lm+if(f((Z[r]+Z[r+1])*.5)>0){"plus;"}else{"moins;"}+ +lm:=if(nz>2){for(r:=0; r<nz-2;r++){lm:=lm+if(Z[r]==-infinity){ +if(f((Z[r+1]-1))>0){"plus;"}else{"moins;"} +}else{if(f((Z[r]+Z[r+1])*.5)>0){"plus;"}else{"moins;"}} ++ if(member(Z[r+1],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"} - }}<span class="flyspell-duplicate">else</span>{" "}; + }}else{" "}; -<span class="flyspell-duplicate">lf</span>:=if(f(Z[<span class="flyspell-duplicate">nz</span>-2]+0.1)>0){"plus;"}else{"moins;"}+if(maxi!=+infinity and f(maxi)==0){"valBarre(btex 0 etex);"}else{if(member(maxi,F)==0){" - "}else{"<span class="flyspell-duplicate">nonDefBarre</span>;"} +lf:=if(f(Z[nz-2]+0.1)>0){"plus;"}else{"moins;"}+if(maxi!=+infinity and f(maxi)==0){"valBarre(btex 0 etex);"}else{if(member(maxi,F)==0){" + "}else{"nonDefBarre;"} }; }}; @@ -2412,8 +2409,8 @@ lm:=if(nz>2){for(r:=0; r<nz-2;r++){lm:=lm+if(f((Z[r]+Z[r+1])*.5)>0){"pl MetaLfc:=" -beginTableau("+nmr+") -<span class="flyspell-duplicate">newLigneVariables</span>(btex <span class="font-latex-math">$\\displaystyle {x}$</span> <span class="flyspell-duplicate">etex</span>); +<span class="flyspell-duplicate">beginTableau</span>("+nmr+") +newLigneVariables(btex <span class="font-latex-math">$\\displaystyle {x}$</span> etex); "+l0+lsic+latex(f(x))+"}<span class="font-latex-math">$ etex);"+ li+lm+lf +" @@ -2425,11 +2422,12 @@ endTableau; -sortie:=fopen("XCasmpfc.</span><span class="font-latex-math"><span class="flyspell-duplicate">mp</span></span><span class="font-latex-math">"); -</span><span class="font-latex-math"><span class="flyspell-duplicate">fprint</span></span><span class="font-latex-math">(sortie,Unquoted,MetaLfc); +sortie:=fopen("XCasmpfc.mp"); +fprint(sortie,Unquoted,MetaLfc); fclose(sortie); - }:; + + </span><span class="font-latex-sedate"><span class="keyword"><span class="font-latex-math">\end</span></span></span><span class="function-name"><span class="font-latex-math">{VerbatimOut}</span></span><span class="font-latex-math"> @@ -2473,13 +2471,13 @@ fclose(sortie); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{center}</span> <span class="font-latex-sedate">\includegraphics</span>[scale=<span class="font-latex-sedate">\echelle</span>]{<span class="font-latex-sedate">\nomtravail</span>.Tab.<span class="font-latex-sedate">\theTVn</span>} <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{center}</span> -<span class="font-latex-sedate">\stepcounter</span>{<span class="flyspell-duplicate">TVn</span>} +<span class="font-latex-sedate">\stepcounter</span>{TVn} } <span class="comment-delimiter">%%</span><span class="comment"> </span><span class="comment-delimiter">%% </span><span class="comment">traitement des fichiers produits par giac/xcas avec possibilite -</span><span class="comment-delimiter">%% </span><span class="comment">de modifier le fichier metapost (environnement </span><span class="comment"><span class="flyspell-incorrect">etoile</span></span><span class="comment">)) +</span><span class="comment-delimiter">%% </span><span class="comment">de modifier le fichier metapost (environnement etoile)) </span><span class="comment-delimiter">%%</span><span class="comment"> </span> @@ -2513,7 +2511,7 @@ fclose(sortie); <span class="font-latex-sedate">\includegraphics</span>[scale=<span class="font-latex-sedate">\echelle</span>]{<span class="font-latex-sedate">\nomtravail</span>.Tab.<span class="font-latex-sedate">\theTVn</span>} <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{center}</span> <span class="font-latex-sedate">\ech</span>{1} -<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVnbis</span></span><span class="variable-name">}</span> <span class="comment">% Restauration du compteur </span><span class="comment"><span class="flyspell-duplicate">TVn</span></span><span class="comment"> +<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVnbis</span></span><span class="variable-name">}</span> <span class="comment">% Restauration du compteur TVn </span>} @@ -2535,7 +2533,7 @@ fclose(sortie); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasa.giac} -<span class="flyspell-duplicate">maple</span>_mode(0); +maple_mode(0); read("config.cxx"); read("XcasTabSigna.cxx"); read("XCasa.user"); @@ -2559,7 +2557,7 @@ read("XCasa.user"); maple_mode(0); read("config.cxx"); read("XcasTabSignQ.cxx"); -<span class="flyspell-duplicate">read</span>("XCasQ.user"); +read("XCasQ.user"); <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> <span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TSq}</span><span class="comment">% @@ -2570,19 +2568,19 @@ read("XcasTabSignQ.cxx"); <span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TSq*}</span>[1]<span class="comment">% </span>{<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVnbis}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVn</span></span><span class="variable-name">}</span> -<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{</span><span class="variable-name"><span class="flyspell-duplicate">TVn</span></span><span class="variable-name">}{#1}</span> +<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{#1}</span> <span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasQ.user}} {<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{Q}} <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasL.giac} maple_mode(0); -<span class="flyspell-duplicate">read</span>("config.cxx"); +read("config.cxx"); read("XcasTabSignL.cxx"); read("XCasL.user"); <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> -<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{</span><span class="function-name"><span class="flyspell-duplicate">TS</span></span><span class="function-name">}</span><span class="comment">% +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TS}</span><span class="comment">% </span>{<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasL.user}} {<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dresse</span>{L}} @@ -2595,7 +2593,7 @@ read("XCasL.user"); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasTSc.giac} -<span class="flyspell-duplicate">maple</span>_mode(0); +maple_mode(0); read("config.cxx"); read("XcasTSc.cxx"); read("XCasTSc.user"); @@ -2604,11 +2602,11 @@ read("XCasTSc.user"); -<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{</span><span class="function-name"><span class="flyspell-duplicate">TSc</span></span><span class="function-name">*}</span>[1]<span class="comment">% +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TSc*}</span>[1]<span class="comment">% </span>{<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVnbis}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVn</span></span><span class="variable-name">}</span> -<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{</span><span class="variable-name"><span class="flyspell-duplicate">TVn</span></span><span class="variable-name">}{#1}</span> +<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{#1}</span> <span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasTSc.user}} -{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{<span class="flyspell-duplicate">TSc</span>}} +{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{TSc}} <span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TSc}</span><span class="comment">% @@ -2619,7 +2617,7 @@ read("XCasTSc.user"); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasTV.giac} maple_mode(0); read("config.cxx"); -<span class="flyspell-duplicate">read</span>("XcasTV.cxx"); +read("XcasTV.cxx"); read("XCasTV.user"); <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> @@ -2630,9 +2628,9 @@ read("XCasTV.user"); <span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TV*}</span>[1]{<span class="comment">% </span><span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVnbis}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVn</span></span><span class="variable-name">}</span> -<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{</span><span class="variable-name"><span class="flyspell-duplicate">TVn</span></span><span class="variable-name">}{#1}</span> +<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{#1}</span> <span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasTV.user}}<span class="comment">% -</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{<span class="flyspell-duplicate">TV</span>}} +</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{TV}} @@ -2643,20 +2641,20 @@ read("XCasTV.user"); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasTVP.giac} maple_mode(0); read("config.cxx"); -<span class="flyspell-duplicate">read</span>("XcasTVP.cxx"); +read("XcasTVP.cxx"); read("XCasTVP.user"); <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> -<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{</span><span class="function-name"><span class="flyspell-duplicate">TVP</span></span><span class="function-name">}</span><span class="comment">% +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVP}</span><span class="comment">% </span>{<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasTVP.user}}<span class="comment">% </span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> -<span class="font-latex-sedate">\dresse</span>{<span class="flyspell-duplicate">TVP</span>}} +<span class="font-latex-sedate">\dresse</span>{TVP}} <span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVP*}</span>[1]{<span class="comment">% </span><span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVnbis}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVn</span></span><span class="variable-name">}</span> -<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{</span><span class="variable-name"><span class="flyspell-duplicate">TVn</span></span><span class="variable-name">}{#1}</span> +<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{#1}</span> <span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasTVP.user}}<span class="comment">% -</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{<span class="flyspell-duplicate">TVP</span>}} +</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{TVP}} @@ -2669,21 +2667,21 @@ read("XCasTVP.user"); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasTVZ.giac} maple_mode(0); -<span class="flyspell-duplicate">read</span>("config.cxx"); +read("config.cxx"); read("XcasTVZ.cxx"); read("XCasTVZ.user"); <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> -<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{</span><span class="function-name"><span class="flyspell-duplicate">TVZ</span></span><span class="function-name">}</span><span class="comment">% +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVZ}</span><span class="comment">% </span>{<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasTVZ.user}}<span class="comment">% </span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> -<span class="font-latex-sedate">\dresse</span>{<span class="flyspell-duplicate">TVZ</span>}} +<span class="font-latex-sedate">\dresse</span>{TVZ}} <span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVZ*}</span>[1]{<span class="comment">% </span><span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVnbis}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVn</span></span><span class="variable-name">}</span> <span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{#1}</span> <span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasTVZ.user}}<span class="comment">% -</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{<span class="flyspell-duplicate">TVZ</span>}} +</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{TVZ}} @@ -2697,20 +2695,20 @@ read("XCasTVZ.user"); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasTVapp.giac} maple_mode(0); read("config.cxx"); -<span class="flyspell-duplicate">read</span>("XcasTVapp.cxx"); +read("XcasTVapp.cxx"); read("XCasTVapp.user"); <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> <span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVapp}</span><span class="comment">% </span>{<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasTVapp.user}}<span class="comment">% </span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> -<span class="font-latex-sedate">\dresse</span>{<span class="flyspell-duplicate">TVapp</span>}} +<span class="font-latex-sedate">\dresse</span>{TVapp}} <span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVapp*}</span>[1]{<span class="comment">% </span><span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVnbis}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVn</span></span><span class="variable-name">}</span> -<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{</span><span class="variable-name"><span class="flyspell-duplicate">TVn</span></span><span class="variable-name">}{#1}</span> +<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{#1}</span> <span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasTVapp.user}}<span class="comment">% -</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{<span class="flyspell-duplicate">TVapp</span>}} +</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{TVapp}} @@ -2723,7 +2721,7 @@ read("XCasTVapp.user"); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasTVI.giac} -<span class="flyspell-duplicate">maple</span>_mode(0); +maple_mode(0); read("config.cxx"); read("XcasTVI.cxx"); read("XCasTVI.user"); @@ -2731,14 +2729,14 @@ read("XCasTVI.user"); <span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVI}</span><span class="comment">% </span>{<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasTVI.user}}<span class="comment">% -</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dresse</span>{<span class="flyspell-duplicate">TVI</span>}} +</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dresse</span>{TVI}} -<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{</span><span class="function-name"><span class="flyspell-duplicate">TVI</span></span><span class="function-name">*}</span>[1]<span class="comment">% +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVI*}</span>[1]<span class="comment">% </span>{<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVnbis}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVn</span></span><span class="variable-name">}</span> <span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{#1}</span> <span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasTVI.user}}<span class="comment">% -</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{<span class="flyspell-duplicate">TVI</span>}} +</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{TVI}} @@ -2747,43 +2745,43 @@ read("XCasTVI.user"); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasTVIapp.giac} maple_mode(0); -<span class="flyspell-duplicate">read</span>("config.cxx"); +read("config.cxx"); read("XcasTVIapp.cxx"); read("XCasTVIapp.user"); <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> -<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{</span><span class="function-name"><span class="flyspell-duplicate">TVIapp</span></span><span class="function-name">}</span><span class="comment">% +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVIapp}</span><span class="comment">% </span>{<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasTVIapp.user}}<span class="comment">% -</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dresse</span>{<span class="flyspell-duplicate">TVIapp</span>}} +</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dresse</span>{TVIapp}} <span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVIapp*}</span>[1]<span class="comment">% </span>{<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVnbis}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVn</span></span><span class="variable-name">}</span> <span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{#1}</span> <span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasTVIapp.user}}<span class="comment">% -</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{<span class="flyspell-duplicate">TVIapp</span>}} +</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{TVIapp}} -<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{<span class="flyspell-incorrect">XCasTVPC</span>.<span class="flyspell-duplicate">giac</span>} +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasTVPC.giac} maple_mode(0); -read("config.<span class="flyspell-duplicate">cxx</span>"); -read("<span class="flyspell-duplicate">XcasTVPC</span>.<span class="flyspell-duplicate">cxx</span>"); -read("<span class="flyspell-duplicate">XCasTVPC</span>.user"); +read("config.cxx"); +read("XcasTVPC.cxx"); +read("XCasTVPC.user"); <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> -<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{</span><span class="function-name"><span class="flyspell-duplicate">TVPC</span></span><span class="function-name">}</span><span class="comment">% -</span>{<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[<span class="flyspell-duplicate">commandchars</span>=<span class="font-latex-warning">\\</span>??]{<span class="flyspell-duplicate">XCasTVPC</span>.user}}<span class="comment">% +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVPC}</span><span class="comment">% +</span>{<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasTVPC.user}}<span class="comment">% </span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> -<span class="font-latex-sedate">\dresse</span>{<span class="flyspell-duplicate">TVPC</span>}} +<span class="font-latex-sedate">\dresse</span>{TVPC}} -<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{</span><span class="function-name"><span class="flyspell-duplicate">TVPC</span></span><span class="function-name">*}</span>[1]{<span class="comment">% -</span><span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{</span><span class="variable-name"><span class="flyspell-duplicate">TVnbis</span></span><span class="variable-name">}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVn</span></span><span class="variable-name">}</span> +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVPC*}</span>[1]{<span class="comment">% +</span><span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVnbis}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVn</span></span><span class="variable-name">}</span> <span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{#1}</span> -<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[<span class="flyspell-duplicate">commandchars</span>=<span class="font-latex-warning">\\</span>??]{<span class="flyspell-duplicate">XCasTVPC</span>.user}}<span class="comment">% -</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{<span class="flyspell-duplicate">TVPC</span>}} +<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasTVPC.user}}<span class="comment">% +</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{TVPC}} @@ -2798,14 +2796,14 @@ read("<span class="flyspell-duplicate">XCasTVPC</span>.user"); <span class="comment-delimiter">%% </span><span class="comment">pour nettoyer les fichiers auxiliaires </span> -<span class="font-latex-sedate">\AtEndDocument</span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cat</span> queue.mp >> <span class="font-latex-sedate">\nomtravail</span>.Tab.<span class="flyspell-duplicate">mp</span>} +<span class="font-latex-sedate">\AtEndDocument</span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cat</span> queue.mp >> <span class="font-latex-sedate">\nomtravail</span>.Tab.mp} } <span class="comment-delimiter">%%</span><span class="comment"> -</span><span class="comment-delimiter">%% </span><span class="comment">Zi end -> </span><span class="comment"><span class="flyspell-incorrect">enjoy</span></span><span class="comment"> :) +</span><span class="comment-delimiter">%% </span><span class="comment">Zi end -> enjoy :) </span></pre> </body> </html> diff --git a/Master/texmf-dist/doc/latex/tablor/tablor.pdf b/Master/texmf-dist/doc/latex/tablor/tablor.pdf Binary files differindex 2a75ee1a1e6..b4798a99408 100644 --- a/Master/texmf-dist/doc/latex/tablor/tablor.pdf +++ b/Master/texmf-dist/doc/latex/tablor/tablor.pdf diff --git a/Master/texmf-dist/doc/latex/tablor/tablor.tex b/Master/texmf-dist/doc/latex/tablor/tablor.tex index 210154ce647..bde15091152 100644 --- a/Master/texmf-dist/doc/latex/tablor/tablor.tex +++ b/Master/texmf-dist/doc/latex/tablor/tablor.tex @@ -4,7 +4,7 @@ \usepackage[T1]{fontenc} \usepackage[french]{babel} \usepackage[upright]{fourier} -\usepackage[xcas]{tablor} +\usepackage{tablor} \usepackage{listings,keystroke} \usepackage{graphicx,bclogo,amssymb,amsbsy,amsfonts,amstext,amscd,amsopn,amsxtra} @@ -80,7 +80,7 @@ keywordstyle =\color{0.2white}\usefont{OT1}{cmtt}{b}{n},basicstyle=\ttfamily,com avec l'efficace participation de Jean-Michel \textsc{Boucart}\\ Forum d'aide ~:~\href{http://gconnan.free.fr/punbb/upload/index.php}{http://gconnan.free.fr/punbb/upload/index.php}} -\date{21 octobre 2008 - Version 4.02} +\date{07 novembre 2008 - Version 4.02} @@ -277,34 +277,40 @@ pour installer une nouvelle extension \LaTeX{}. les sorties de la compilation \texttt{tex}. Pour \texttt{emacs}, on rajoute en fin de fichier \verb+%%% LaTeX-command: "latex --shell-escape" ***+; pour les autres éditeurs, il faut modifier la commande de compilation. Sinon, on peut modifier le fichier \texttt{texmf.cnf} - pour que le mode soit automatisé en modifiant la ligne suivante~:~\texttt{shell-escape t}; + pour que le mode soit automatisé en modifiant la ligne + suivante~:~\texttt{shell-escape t} mais ce n'est pas recommandé car il + faut activer le shell-escape le moins possible et toujours sous contrôle~; -\item il faut avoir à disposition les extensions \texttt{fancyvrb}, - \texttt{filecontents}, \texttt{ifthen} et \texttt{ifpdf}; -\item pour ceux qui compilent avec \texttt{pdf\LaTeX{}}, il n'y a aucun problème et rien à faire car \texttt{tablor} - contient déjà ce qu'il faut pour s'adapter~: - \verb+\ifpdf \DeclareGraphicsRule{*}{mps}{*}{} \fi+ -\item il faut installer le fichier \texttt{tablor.sty} dans son \texttt{texmf} personnel. Pour ceux - qui ont \texttt{MiKTeX} sous \texttt{windows}, il suffit d'aller le chercher dans les dépôts. Pour les - utilisateurs de \texttt{Unix}, vous devez savoir comment faire... Par commodité, vous pouvez en - profiter pour installer la version \texttt{Unix} de \emph{MiKTeX package manager}. J'ai fait un - petit script pour vous y aider ici : +\begin{figure}[!h] + \begin{Idee}{shell-escape sur KILE} + On peut créer une compilation en allant dans les menus de configuration, l'associer à un raccourci clavier et hop, quand on veut une compil rapide c'est facile. + +On va dans \texttt{configuration>kile>outils>nouvel outil} + +On l'appelle par exemple shellEscape et on le base sur LateX + +Ensuite en commande on met \texttt{latex} (ou \texttt{pdflatex}) +et en option \verb+-shell-escape -interaction=nonstopmode '%source'+ +et on clique sur OK. + +Ensuite on va dans \texttt{configuration>raccourci clavier > rechercher sh}. +On tombe sur shellEscape. On clique sur personnaliser et on choisi un raccourci, par exemple +la touche windows et s (S-s en langage emacs...) + +Et voilà : quand on veut compiler un document appelant tablor, on appuie sur windows+s. + \end{Idee} + \end{figure} - \href{http://gconnan.free.fr/?page=52}{http://gconnan.free.fr/?page=52} -\item il faut installer les fichiers de configuration - \texttt{tablor.cfg} et \texttt{entateMP.cfg} dans le même - répertoire de \texttt{tablor.sty} -\end{itemize} \begin{figure}[!h] - \begin{Idee}{shell-escape} + \begin{Idee}{shell-escape sur TeXnicCenter} Pour les utilisateurs de TeXnicCenter, observez cette \href{http://img221.imageshack.us/img221/27/capture20080114215233hu7.png}{explication} du paramétrage du \texttt{shell-escape}. On peut par exemple mettre~: @@ -330,6 +336,37 @@ et là il faut ajouter \end{figure} + + +\item il faut avoir à disposition les extensions \texttt{fancyvrb}, + \texttt{filecontents}, \texttt{ifthen} et \texttt{ifpdf}; + +\item pour ceux qui compilent avec \texttt{pdf\LaTeX{}}, il n'y a aucun problème et rien à faire car \texttt{tablor} + contient déjà ce qu'il faut pour s'adapter~: + \verb+\ifpdf \DeclareGraphicsRule{*}{mps}{*}{} \fi+ + +\item il faut installer le fichier \texttt{tablor.sty} dans son \texttt{texmf} personnel. Pour ceux + qui ont une version récente de \texttt{MiKTeX} ou \texttt{TeXLive}, + \texttt{tablor} est déjà installé. Pour les + utilisateurs de \texttt{Unix}, vous devez savoir comment faire... Par commodité, vous pouvez en + profiter pour installer la version \texttt{Unix} de \emph{MiKTeX package manager}. J'ai fait un + petit script pour vous y aider ici : + + \href{http://gconnan.free.fr/?page=52}{http://gconnan.free.fr/?page=52} + +\item il faut installer les fichiers de configuration + \texttt{tablor.cfg} et \texttt{entateMP.cfg} dans le même + répertoire de \texttt{tablor.sty} + + + +\end{itemize} + + + + + + \begin{figure}[!h] \begin{DANGER}{Conflit d'extensions} L'extension \verb+fancybox+ rentre en conflit avec \verb+fancyvrb+ qu'utilise @@ -450,7 +487,8 @@ etex % III - Déclaration de l'éditeur utilisé % ================================ % -% Remplacez "kile" par la commande qui lance votre éditeur favori. +% Remplacez "kile" par la commande qui lance un autre editeur que +% votre éditeur favori pour afficher les tableaux a modifier. % Laissez une espace avant de fermer l'accolade. \newcommand{\editeur}{kile } @@ -459,10 +497,10 @@ etex %================================= -%IV - 1ère colonne +%IV - 1ere colonne %================================= % -%permet de configurer les termes dans la première colonne des +%permet de configurer les termes dans la premiere colonne des %tableaux : "signe de" ou "sign of" ou "" etc. % @@ -546,7 +584,11 @@ automatiquement par des commandes \texttt{dos}; \item[III] l'éditeur sera appelé dans certains cas pour modifier l'aspect des tableaux dans les fichiers sources \texttt{MetaPOST}. Il faudra choisir un éditeur comme par exemple \texttt{emacs, xemacs, texmaker, vi, winshell, notepad, vim, kate, gedit, - textmate,texshop}, \texttt{kile}, etc. Voir aussi le paragraphe~\ref{modif}; + textmate,texshop}, \texttt{kile}, etc. +Pour éviter certains problèmes, choisissez un autre éditeur que celui +que vous utilisez pour \LaTeX{} afin que la fenêtre s'ouvre sans problème. + +Voir aussi le paragraphe~\ref{modif}; \item[IV] par défaut, on voit apparaître dans la première colonne des tableaux «~signe de ~» ou «~variations de ~». Vous pouvez modifier ces réglages ici comme indiqué; deux exemples sont @@ -1306,7 +1348,14 @@ est affiché. Vous pouvez alors le modifier, taper sur \Ctrl + \keystroke{S} p plupart des éditeurs mais ne sont pas universelles : vérifiez pour celui que vous avez choisi.}. La compilation s'achève alors automatiquement comme pour un environnement non étoilé. - +\begin{figure}[!h] + \begin{DANGER}{Choix de l'éditeur} + Évitez de choisir votre éditeur habituel~:~sur + \texttt{Linux} prenez par exemple \texttt{gedit} ou + \texttt{kate}, sur \texttt{Windows} prenez + \texttt{wordpad}, etc. + \end{DANGER} + \end{figure} @@ -1392,52 +1441,79 @@ dans un fichier \texttt{latex-tempo}: ;;; ;cas tableau de variation ("TV" (& > "\\begin{center}"n> - "\\begin{TV}" n> + "\\begin{TV}" n> "TV(["(p "debut de l'intervalle:")","(p "fin de l'intervalle:")"]," - "["(p "liste de valeurs interdites (,) :")"]," - "\""(p "nom de la fonction :")"\"," - "\""(p "nom de la variable :")"\"," - ""(p "expression de la fonction (utiliser x) :")"," + "["(p "liste de valeurs interdites (,) :")"]," + "\""(p "nom de la fonction :")"\"," + "\""(p "nom de la variable :")"\"," + ""(p "expression de la fonction (utiliser x) :")"," ""(p "type de tableau (1:complet, 0:sans signe, 2:que le signe) :")"," -""(p "trigo ?(t:trigo, n:non trigo) :")"," - "\\tv)" n> - "\\end{TV}" n> - "\\end{center}" > % )) +""(p "trigo ? (t:oui, n:non) :")"," + "\\tv)" n> + "\\end{TV}" n> + "\\end{center}" > % )) ;cas TVI ("TVI" (& > "\\begin{center}"n> - "\\begin{TVI}" n> + "\\begin{TVI}" n> "TVI(["(p "debut de l'intervalle:")","(p "fin de l'intervalle:")"]," - "["(p "liste de valeurs interdites (,) :")"]," - "\""(p "nom de la fonction :")"\"," - "\""(p "nom de la variable :")"\"," - ""(p "expression de la fonction (utiliser x) :")"," + "["(p "liste de valeurs interdites (,) :")"]," + "\""(p "nom de la fonction :")"\"," + "\""(p "nom de la variable :")"\"," + ""(p "expression de la fonction (utiliser x) :")"," ""(p "type de tableau (1:complet, 0:sans signe, 2:que le signe) :")"," -""(p "trigo ?(t:trigo, n:non trigo) :")"," - ""(p "f(x)=l pour la valeur l :")"," - "\\tv)" n> - "\\end{TVI}" n> - "\\end{center}" > % )) +""(p "trigo ? (t:oui, n:non) :")"," + ""(p "f(x)=l pour la valeur l :")"," + "\\tv)" n> + "\\end{TVI}" n> + "\\end{center}" > % )) ;cas signe produit ("TS" (& > "\\begin{center}"n> - "\\begin{TS}" n> - "TS(\""(p "nom du produit :")"\"," + "\\begin{TS}" n> + "TS(\""(p "nom du produit :")"\"," "["(p "liste des facteurs (,) :")"]," "["(p "debut de l'intervalle:")","(p "fin de l'intervalle:")"]," -""(p "trigo ?(t:trigo, n:non trigo) :")"," - "\\tv)" n> - "\\end{TS}" n> - "\\end{center}" > % )) + ""(p "trigo ? (t:oui, n:non) :")"," + "\\tv)" n> + "\\end{TS}" n> + "\\end{center}" > % )) ;cas signe quotient ("TSq" (& > "\\begin{center}"n> - "\\begin{TSq}" n> - "TSq(\""(p "nom du quotient :")"\"," - "["(p "liste des facteurs du numerateur (,) :")"]," - "["(p "liste des facteurs du denominateur (,) :")"]," - "["(p "debut de l'intervalle:")","(p "fin de l'intervalle:")"]," -""(p "trigo ?(t:trigo, n:non trigo) :")"," - "\\tv)" n> - "\\end{TSq}" n> - "\\end{center}" > % )) + "\\begin{TSq}" n> + "TSq(\""(p "nom du quotient :")"\"," + "["(p "liste des facteurs du numerateur (,) :")"]," + "["(p "liste des facteurs du denominateur (,) :")"]," + "["(p "debut de l'intervalle:")","(p "fin de l'intervalle:")"]," + ""(p "trigo ? (t:oui, n:non) :")"," + "\\tv)" n> + "\\end{TSq}" n> + "\\end{center}" > % )) + +; Tableau signe court + ("TSc" (& > "\\begin{center}"n> + "\\begin{TSc}" n> + "TSc("(p "expression :")",""[" +(p "debut de l'intervalle:")"," +(p "fin de l'intervalle:")"],""[" +(p "liste de valeurs interdites (,) :")"],""" +(p "trigo ? (t:oui, n:non) :")"," + "\\tv)" n> + "\\end{TSc}" n> + "\\end{center}" > % )) + + ;cas tableau de variation avec zone interdite + ("TVZ" (& > "\\begin{center}"n> + "\\begin{TV}" n> +"TVZ(["(p "debut de l'intervalle:")","(p "fin de l'intervalle:")"]," + "["(p "liste de valeurs interdites (,) :")"]," + "["(p "liste des zones interdites ([,],[,]) :")"]," + "\""(p "nom de la fonction :")"\"," + "\""(p "nom de la variable :")"\"," + ""(p "expression de la fonction (utiliser x) :")"," +""(p "type de tableau (1:complet, 0:sans signe, 2:que le signe) :")"," +""(p "trigo ? (t:oui, n:non) :")"," + "\\tv)" n> + "\\end{TV}" n> + "\\end{center}" > % )) ;cas TVP ("TVP" (& > "\\begin{center}"n> "\\begin{TVI}" n> @@ -1454,21 +1530,6 @@ dans un fichier \texttt{latex-tempo}: "\\tv)" n> "\\end{TVP}" n> "\\end{center}" > % )) - - ;cas tableau de variation avec zone interdite - ("TVZ" (& > "\\begin{center}"n> - "\\begin{TV}" n> -"TVZ(["(p "debut de l'intervalle:")","(p "fin de l'intervalle:")"]," - "["(p "liste de valeurs interdites (,) :")"]," - "["(p "liste des zones interdites ([,],[,]) :")"]," - "\""(p "nom de la fonction :")"\"," - "\""(p "nom de la variable :")"\"," - ""(p "expression de la fonction (utiliser x) :")"," -""(p "type de tableau (1:complet, 0:sans signe, 2:que le signe) :")"," -""(p "trigo ?(t:trigo, n:non trigo) :")"," - "\\tv)" n> - "\\end{TV}" n> - "\\end{center}" > % )) \end{lstlisting} Merci à \href{http://phil.pham.free.fr/}{Phil Pham}. |