From 5c74e8bbbe565778ae975fbb5cced00f3bd02408 Mon Sep 17 00:00:00 2001 From: Manuel Pégourié-Gonnard Date: Sat, 17 May 2008 15:12:56 +0000 Subject: tablor v2.06 git-svn-id: svn://tug.org/texlive/trunk@8191 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/tablor/Figures.zip | Bin 175060 -> 0 bytes .../doc/latex/tablor/Figures/TSav-105.mp | 22 + .../doc/latex/tablor/Figures/capture.eps | 1509 ++++++++++++++++++++ .../doc/latex/tablor/Figures/enteteMP.cfg | 10 + .../texmf-dist/doc/latex/tablor/Figures/queue.mp | 3 + .../doc/latex/tablor/Figures/tablor.Tab.0 | 93 ++ .../doc/latex/tablor/Figures/tablor.Tab.1 | 136 ++ .../doc/latex/tablor/Figures/tablor.Tab.10 | 193 +++ .../doc/latex/tablor/Figures/tablor.Tab.105 | 226 +++ .../doc/latex/tablor/Figures/tablor.Tab.11 | 419 ++++++ .../doc/latex/tablor/Figures/tablor.Tab.12 | 168 +++ .../doc/latex/tablor/Figures/tablor.Tab.13 | 352 +++++ .../doc/latex/tablor/Figures/tablor.Tab.14 | 160 +++ .../doc/latex/tablor/Figures/tablor.Tab.15 | 100 ++ .../doc/latex/tablor/Figures/tablor.Tab.16 | 182 +++ .../doc/latex/tablor/Figures/tablor.Tab.17 | 164 +++ .../doc/latex/tablor/Figures/tablor.Tab.18 | 143 ++ .../doc/latex/tablor/Figures/tablor.Tab.2 | 81 ++ .../doc/latex/tablor/Figures/tablor.Tab.20 | 112 ++ .../doc/latex/tablor/Figures/tablor.Tab.21 | 182 +++ .../doc/latex/tablor/Figures/tablor.Tab.22 | 137 ++ .../doc/latex/tablor/Figures/tablor.Tab.23 | 165 +++ .../doc/latex/tablor/Figures/tablor.Tab.24 | 189 +++ .../doc/latex/tablor/Figures/tablor.Tab.25 | 144 ++ .../doc/latex/tablor/Figures/tablor.Tab.26 | 407 ++++++ .../doc/latex/tablor/Figures/tablor.Tab.27 | 172 +++ .../doc/latex/tablor/Figures/tablor.Tab.28 | 153 ++ .../doc/latex/tablor/Figures/tablor.Tab.3 | 206 +++ .../doc/latex/tablor/Figures/tablor.Tab.30 | 160 +++ .../doc/latex/tablor/Figures/tablor.Tab.31 | 135 ++ .../doc/latex/tablor/Figures/tablor.Tab.32 | 197 +++ .../doc/latex/tablor/Figures/tablor.Tab.33 | 95 ++ .../doc/latex/tablor/Figures/tablor.Tab.34 | 285 ++++ .../doc/latex/tablor/Figures/tablor.Tab.35 | 230 +++ .../doc/latex/tablor/Figures/tablor.Tab.36 | 391 +++++ .../doc/latex/tablor/Figures/tablor.Tab.37 | 119 ++ .../doc/latex/tablor/Figures/tablor.Tab.38 | 267 ++++ .../doc/latex/tablor/Figures/tablor.Tab.39 | 262 ++++ .../doc/latex/tablor/Figures/tablor.Tab.4 | 226 +++ .../doc/latex/tablor/Figures/tablor.Tab.40 | 130 ++ .../doc/latex/tablor/Figures/tablor.Tab.41 | 124 ++ .../doc/latex/tablor/Figures/tablor.Tab.42 | 190 +++ .../doc/latex/tablor/Figures/tablor.Tab.43 | 164 +++ .../doc/latex/tablor/Figures/tablor.Tab.5 | 384 +++++ .../doc/latex/tablor/Figures/tablor.Tab.6 | 249 ++++ .../doc/latex/tablor/Figures/tablor.Tab.7 | 245 ++++ .../doc/latex/tablor/Figures/tablor.Tab.9 | 219 +++ .../doc/latex/tablor/Figures/tablor.Tab.mp | 540 +++++++ Master/texmf-dist/doc/latex/tablor/tablor.html | 1268 ++++++---------- Master/texmf-dist/doc/latex/tablor/tablor.pdf | Bin 469785 -> 240642 bytes Master/texmf-dist/doc/latex/tablor/tablor.tex | 265 +++- Master/texmf-dist/tex/latex/tablor/tablor.cfg | 10 - Master/texmf-dist/tex/latex/tablor/tablor.sty | 807 +++-------- 53 files changed, 11208 insertions(+), 1582 deletions(-) delete mode 100644 Master/texmf-dist/doc/latex/tablor/Figures.zip create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/TSav-105.mp create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/capture.eps create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/enteteMP.cfg create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/queue.mp create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.0 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.1 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.10 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.105 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.11 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.12 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.13 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.14 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.15 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.16 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.17 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.18 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.2 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.20 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.21 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.22 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.23 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.24 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.25 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.26 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.27 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.28 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.3 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.30 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.31 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.32 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.33 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.34 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.35 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.36 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.37 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.38 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.39 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.4 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.40 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.41 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.42 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.43 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.5 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.6 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.7 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.9 create mode 100644 Master/texmf-dist/doc/latex/tablor/Figures/tablor.Tab.mp diff --git a/Master/texmf-dist/doc/latex/tablor/Figures.zip b/Master/texmf-dist/doc/latex/tablor/Figures.zip deleted file mode 100644 index ae85df1bd44..00000000000 Binary files a/Master/texmf-dist/doc/latex/tablor/Figures.zip and /dev/null differ diff --git a/Master/texmf-dist/doc/latex/tablor/Figures/TSav-105.mp b/Master/texmf-dist/doc/latex/tablor/Figures/TSav-105.mp new file mode 100644 index 00000000000..278ebac4b18 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tablor/Figures/TSav-105.mp @@ -0,0 +1,22 @@ + beginTableau(105) +newLigneVariables(btex $ {x}$ etex); + val(btex $-50$ etex);val(btex $\frac{-2}{3}$ etex); +val(btex $\mbox{-}\frac{\sqrt{5}}{5} $ etex); +val(btex $\frac{\sqrt{5}}{5} $ etex); +val(btex $50$ etex); +newLigneSignes(btex $\hbox{ Signe de }\atop{\displaystyle {3\cdot \mbox{x}\mbox{+}2}}$ etex); + moins; + valBarre(btex 0 etex);plus;barre; + plus;barre;plus; + +newLigneSignes(btex $\hbox{ Signe de }\atop{\displaystyle {5\cdot \mbox{x}^{2}-1}}$ etex); + plus;barre; + plus; + valBarre(btex 0 etex);moins;valBarre(btex 0 etex);plus; + + newLigneSignes(btex $\hbox{ Signe du }\atop{{\displaystyle \rm produit}}$ etex); + moins;valBarre(btex 0 etex); plus;valBarre(btex 0 etex);moins;valBarre(btex 0 etex);plus; + +endTableau; + + \ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/tablor/Figures/capture.eps b/Master/texmf-dist/doc/latex/tablor/Figures/capture.eps new file mode 100644 index 00000000000..7cf5b460c50 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tablor/Figures/capture.eps @@ -0,0 +1,1509 @@ +%!PS-Adobe-1.0 EPSF-3.0 +%%BoundingBox: 0 1 1384 842 +%%Creator: KDE 3.5.5 +%%CreationDate: sam fv 2 19:51:19 2008 +%%Orientation: Portrait +%%Pages: 1 +%%DocumentFonts: + +%%EndComments +%%BeginProlog +% Prolog copyright 1994-2005 Trolltech. You may copy this prolog in any way +% that is directly related to this document. For other use of this prolog, +% see your licensing agreement for Qt. +/d/def load def/D{bind d}bind d/d2{dup dup}D/B{0 d2}D/W{255 d2}D/ED{exch d}D +/D0{0 ED}D/LT{lineto}D/MT{moveto}D/S{stroke}D/F{setfont}D/SW{setlinewidth}D +/CP{closepath}D/RL{rlineto}D/NP{newpath}D/CM{currentmatrix}D/SM{setmatrix}D +/TR{translate}D/SD{setdash}D/SC{aload pop setrgbcolor}D/CR{currentfile read +pop}D/i{index}D/bs{bitshift}D/scs{setcolorspace}D/DB{dict dup begin}D/DE{end +d}D/ie{ifelse}D/sp{astore pop}D/BSt 0 d/LWi 1 d/PSt 1 d/Cx 0 d/Cy 0 d/WFi +false d/OMo false d/BCol[1 1 1]d/PCol[0 0 0]d/BkCol[1 1 1]d/BDArr[0.94 0.88 +0.63 0.50 0.37 0.12 0.06]d/defM matrix d/nS 0 d/GPS{PSt 1 ge PSt 5 le and{{ +LArr PSt 1 sub 2 mul get}{LArr PSt 2 mul 1 sub get}ie}{[]}ie}D/QS{PSt 0 ne{ +gsave LWi SW true GPS 0 SD S OMo PSt 1 ne and{BkCol SC false GPS dup 0 get +SD S}if grestore}if}D/r28{{CR dup 32 gt{exit}if pop}loop 3{CR}repeat 0 4{7 +bs exch dup 128 gt{84 sub}if 42 sub 127 and add}repeat}D/rA 0 d/rL 0 d/rB{rL +0 eq{/rA r28 d/rL 28 d}if dup rL gt{rA exch rL sub rL exch/rA 0 d/rL 0 d rB +exch bs add}{dup rA 16#fffffff 3 -1 roll bs not and exch dup rL exch sub/rL +ED neg rA exch bs/rA ED}ie}D/uc{/rL 0 d 0{dup 2 i length ge{exit}if 1 rB 1 +eq{3 rB dup 3 ge{1 add dup rB 1 i 5 ge{1 i 6 ge{1 i 7 ge{1 i 8 ge{128 add}if +64 add}if 32 add}if 16 add}if 3 add exch pop}if 3 add exch 10 rB 1 add{dup 3 +i lt{dup}{2 i}ie 4 i 3 i 3 i sub 2 i getinterval 5 i 4 i 3 -1 roll +putinterval dup 4 -1 roll add 3 1 roll 4 -1 roll exch sub dup 0 eq{exit}if 3 +1 roll}loop pop pop}{3 rB 1 add{2 copy 8 rB put 1 add}repeat}ie}loop pop}D +/sl D0/QCIgray D0/QCIcolor D0/QCIindex D0/QCI{/colorimage where{pop false 3 +colorimage}{exec/QCIcolor ED/QCIgray QCIcolor length 3 idiv string d 0 1 +QCIcolor length 3 idiv 1 sub{/QCIindex ED/x QCIindex 3 mul d QCIgray +QCIindex QCIcolor x get 0.30 mul QCIcolor x 1 add get 0.59 mul QCIcolor x 2 +add get 0.11 mul add add cvi put}for QCIgray image}ie}D/di{gsave TR 1 i 1 eq +{false eq{pop true 3 1 roll 4 i 4 i false 4 i 4 i imagemask BkCol SC +imagemask}{pop false 3 1 roll imagemask}ie}{dup false ne{/languagelevel +where{pop languagelevel 3 ge}{false}ie}{false}ie{/ma ED 8 eq{/dc[0 1]d +/DeviceGray}{/dc[0 1 0 1 0 1]d/DeviceRGB}ie scs/im ED/mt ED/h ED/w ED/id 7 +DB/ImageType 1 d/Width w d/Height h d/ImageMatrix mt d/DataSource im d +/BitsPerComponent 8 d/Decode dc d DE/md 7 DB/ImageType 1 d/Width w d/Height +h d/ImageMatrix mt d/DataSource ma d/BitsPerComponent 1 d/Decode[0 1]d DE 4 +DB/ImageType 3 d/DataDict id d/MaskDict md d/InterleaveType 3 d end image}{ +pop 8 4 1 roll 8 eq{image}{QCI}ie}ie}ie grestore}d/BF{gsave BSt 1 eq{BCol SC +WFi{fill}{eofill}ie}if BSt 2 ge BSt 8 le and{BDArr BSt 2 sub get/sc ED BCol{ +1. exch sub sc mul 1. exch sub}forall 3 array astore SC WFi{fill}{eofill}ie} +if BSt 9 ge BSt 14 le and{WFi{clip}{eoclip}ie defM SM pathbbox 3 i 3 i TR 4 +2 roll 3 2 roll exch sub/h ED sub/w ED OMo{NP 0 0 MT 0 h RL w 0 RL 0 h neg +RL CP BkCol SC fill}if BCol SC 0.3 SW NP BSt 9 eq BSt 11 eq or{0 4 h{dup 0 +exch MT w exch LT}for}if BSt 10 eq BSt 11 eq or{0 4 w{dup 0 MT h LT}for}if +BSt 12 eq BSt 14 eq or{w h gt{0 6 w h add{dup 0 MT h sub h LT}for}{0 6 w h +add{dup 0 exch MT w sub w exch LT}for}ie}if BSt 13 eq BSt 14 eq or{w h gt{0 +6 w h add{dup h MT h sub 0 LT}for}{0 6 w h add{dup w exch MT w sub 0 exch LT +}for}ie}if S}if BSt 24 eq{}if grestore}D/mat matrix d/ang1 D0/ang2 D0/w D0/h +D0/x D0/y D0/ARC{/ang2 ED/ang1 ED/h ED/w ED/y ED/x ED mat CM pop x w 2 div +add y h 2 div add TR 1 h w div neg scale ang2 0 ge{0 0 w 2 div ang1 ang1 +ang2 add arc}{0 0 w 2 div ang1 ang1 ang2 add arcn}ie mat SM}D/C D0/P{NP MT +0.5 0.5 rmoveto 0 -1 RL -1 0 RL 0 1 RL CP fill}D/M{/Cy ED/Cx ED}D/L{NP Cx Cy +MT/Cy ED/Cx ED Cx Cy LT QS}D/DL{NP MT LT QS}D/HL{1 i DL}D/VL{2 i exch DL}D/R +{/h ED/w ED/y ED/x ED NP x y MT 0 h RL w 0 RL 0 h neg RL CP BF QS}D/ACR{/h +ED/w ED/y ED/x ED x y MT 0 h RL w 0 RL 0 h neg RL CP}D/xr D0/yr D0/rx D0/ry +D0/rx2 D0/ry2 D0/RR{/yr ED/xr ED/h ED/w ED/y ED/x ED xr 0 le yr 0 le or{x y +w h R}{xr 100 ge yr 100 ge or{x y w h E}{/rx xr w mul 200 div d/ry yr h mul +200 div d/rx2 rx 2 mul d/ry2 ry 2 mul d NP x rx add y MT x y rx2 ry2 180 -90 +x y h add ry2 sub rx2 ry2 270 -90 x w add rx2 sub y h add ry2 sub rx2 ry2 0 +-90 x w add rx2 sub y rx2 ry2 90 -90 ARC ARC ARC ARC CP BF QS}ie}ie}D/E{/h +ED/w ED/y ED/x ED mat CM pop x w 2 div add y h 2 div add TR 1 h w div scale +NP 0 0 w 2 div 0 360 arc mat SM BF QS}D/A{16 div exch 16 div exch NP ARC QS} +D/PIE{/ang2 ED/ang1 ED/h ED/w ED/y ED/x ED NP x w 2 div add y h 2 div add MT +x y w h ang1 16 div ang2 16 div ARC CP BF QS}D/CH{16 div exch 16 div exch NP +ARC CP BF QS}D/BZ{curveto QS}D/CRGB{255 div 3 1 roll 255 div 3 1 roll 255 +div 3 1 roll}D/BC{CRGB BkCol sp}D/BR{CRGB BCol sp/BSt ED}D/WB{1 W BR}D/NB{0 +B BR}D/PE{setlinejoin setlinecap CRGB PCol sp/LWi ED/PSt ED LWi 0 eq{0.25 +/LWi ED}if PCol SC}D/P1{1 0 5 2 roll 0 0 PE}D/ST{defM SM concat}D/MF{true +exch true exch{exch pop exch pop dup 0 get dup findfont dup/FontName get 3 +-1 roll eq{exit}if}forall exch dup 1 get/fxscale ED 2 get/fslant ED exch +/fencoding ED[fxscale 0 fslant 1 0 0]makefont fencoding false eq{}{dup +maxlength dict begin{1 i/FID ne{def}{pop pop}ifelse}forall/Encoding +fencoding d currentdict end}ie definefont pop}D/MFEmb{findfont dup length +dict begin{1 i/FID ne{d}{pop pop}ifelse}forall/Encoding ED currentdict end +definefont pop}D/DF{findfont/fs 3 -1 roll d[fs 0 0 fs -1 mul 0 0]makefont d} +D/ty 0 d/Y{/ty ED}D/Tl{gsave SW NP 1 i exch MT 1 i 0 RL S grestore}D/XYT{ty +MT/xyshow where{pop pop xyshow}{exch pop 1 i dup length 2 div exch +stringwidth pop 3 -1 roll exch sub exch div exch 0 exch ashow}ie}D/AT{ty MT +1 i dup length 2 div exch stringwidth pop 3 -1 roll exch sub exch div exch 0 +exch ashow}D/QI{/C save d pageinit/Cx 0 d/Cy 0 d/OMo false d}D/QP{C restore +showpage}D/SPD{/setpagedevice where{1 DB 3 1 roll d end setpagedevice}{pop +pop}ie}D/SV{BSt LWi PSt Cx Cy WFi OMo BCol PCol BkCol/nS nS 1 add d gsave}D +/RS{nS 0 gt{grestore/BkCol ED/PCol ED/BCol ED/OMo ED/WFi ED/Cy ED/Cx ED/PSt +ED/LWi ED/BSt ED/nS nS 1 sub d}if}D/CLSTART{/clipTmp matrix CM d defM SM NP} +D/CLEND{clip NP clipTmp SM}D/CLO{grestore gsave defM SM}D + +/LArr[ [] [] [ 10.000 3.000 ] [ 3.000 10.000 ] [ 3.000 3.000 ] [ 3.000 3.000 ] [ 5.000 3.000 3.000 3.000 ] [ 3.000 5.000 3.000 3.000 ] [ 5.000 3.000 3.000 3.000 3.000 ] [ 3.000 5.000 3.000 3.000 3.000 3.000 ] ] d +/pageinit { +% 210*297mm (portrait) +0 842 translate 1 -1 scale/defM matrix CM d } d +%%EndProlog +%%BeginSetup +%%EndSetup +%%Page: 1 1 +%%BeginPageSetup +QI +%%EndPageSetup +[1 0 0 1 0 0]ST +CLSTART +0 0 1384 841 ACR +CLEND +B P1 +NB +W BC +/sl 65048 string uc +*1III +III +XݼI/,8*+ŷ.JGN4-JVG5B.IFB@IWE?/ڰ +XHK8-F.ƿP̷*A.=˵E6Q>+FEVL+Q8FHNSX@F=/KX +?9G2,?S8FO2A4SFIW*O9W18HM,5R@>:9N-7C+,, +;۶61߶F>-8J,/SMN@3/23-F>JT98KGF*S2SL +,J>J=8*A89SQFMȶ2Q:GFP-XĹ+*=-A3޳ +7V57:NGHT*>H5OH03>BA*:78I?.H+Ų82-žH +EʻV+X6S4<*3J@/J@Ƹ6CM6⹰Z2 +:A84:J2.2X33FF3Z=׵/W/پSSN,3CB +˷>X6N/1N*<DZ,Q@ +XM0W:?F.һ1:0-R-<588KV.I.AR4P8J< +.;@2ʴ>CO:,2<...KLRRKXWOֻL,̱P@ +-3ݿFYN?5BU7/0COI>88N@/?YG::KLP +ȿE8;8L=75B0L:NF@WVTDD9Z9.TM+87B+A:XY +߻ȶ414XG+7IXJ4.5@Z> +Ⱦ<70;OJQ**2*?2-3޳GFF:?H<Dϳ5:C9O,.űV.IB +¸:>NHEQ;WN/A5QJFO638J1 +1+.282=ݽZN?*?+1B0/8,Cо51=0AI,8?8FMƶ443F;A53R +BXL.M+?QF9պP+<Ǿ@BSHUB3,ڿö-MGXQV +I*UY,=+DT18ELXQ/3O5UHG7˾>Q<ڽV0>׺?SU=F+6FQN:/M.:N;>L4QO5=:GN +160DA8>O5:VN3-Է5Q.83FL>6;= +V.75N;ж8SN154R+Ṯ-FG1SL/5=VN.I+63 +ݿNDRN;ŸBXJ޷M.AV61Q;:=FL=0Mö1S4+;15 +;->߿M+>GF.CU=FɱB8AFVK0I711XPJ954S.TXGXö;QI;M6E7E2NǼFLX +91*F;OFOYN;M.SJVS2*-**F*B7R1RFJ;O62EB2*:5*T030<,54X*> +*JVKK+?M...,2=1+*O?Uز**6*AYغ3ʿ+:*JSPC>F-9 +A1*P5б+*-3BS4Z?<8BYN>Q8--=UVP<*:J;*2= +FL-J0X66->K0²3<8޿*7I˳.2R-R4B.:J87*IOM-+M,=2ϯп- +0QV86.BPBø*;S:+P//>5..6K.S*-+*O7C6*K/<73HQ*A** +BJ.JBJ2*ҷ+IF>R+*E-*P82JVBSERG:J3V +֯NNWXIT״4ּVױWݻEA3EA0WGGVC1=X +4A+*YX;I86EWׯ۹AYܺ۸WUڷ5* +EAY?@̺ϹEYFA<:*::*19F**H99@2>B72,21޽P7DXD +N5AXƯ2RB<.:*-1/XJFR+*ҷHHFJŰR:JAH +*J+*..ֺ5,B2ٵYIIH9־Z¶+*صܿB+ݽ*6޽ +.WK>**K-***/6BZ62>.*08-.3DZK*:K2=H:E-1-1=XRLüL +17DNYER+۱2GBZ.*,Hξķ*A4,/.-7*6龼0M42.:,62;09.C< +8˸6H+/:0=Iհ.2*Z685+*3*JJR*R5Q5L0*3-C*0L +8NN*NFJ17<6*0P06J**ŵYI?9QE.D>SOHTY4 +ٷ7MVװŻ1-AYUصU/6BZ+0AWׯ-*ٹɵWIE@UQ8OLU +YV1*TSٴT?Wհ7DWװG5Y˻1QO̺߿1*5AXNJ2J¾ٵ +ݽPܻH*252AB82+*.?CI/*θ۶*-2FR*12,G*K=X+ +R8O6@G9O,+ްE6Z*8޼07EU6C/-W@WD7ڷ*=< +Y6BE/+ػ-AXڶٵگ@E07ٴG-,*ױG@>*.***N7ٳ+1:*+J5 +OV*Z*ƴKS5C*0Jض*E10կWٳ,*L2L6Zٴط5C:ü6:, +=8-UXܻGUXF2A8:,AA9HWڵ@<<,-*.ڵ;EZQ +K;3.PF4ٳ--R:6@WE޿EOK޻5F4A26JүEM2@* +;VZ8N9.BB+4<06ƿ>@ZJK5P272YB2R1D2,LPNٵï*XMSھ=AVҶ./1 ++*,=,+12M/*6K?/X޷*GMX2+5JEFSְ1F +EF1YIֺYJɵ.ݽKɵٵYܺ,+ܼ* +1<1Y2UZGRALM-GJI޶>57?@*/>ǰO1-+> +2LA3ױJDQٸ7ݿZ-5X@Wװ߸Ӵ/EVص۹/?U8?T +PPTWVQFܲ3PKMRCRJ8G03RM4LM0FRN/VC빶ܽ +8,J۷8*ZۻG**10F:*7Eص71**/*J/*صGX=V+*25*B0;+KG +V5B*+Ľ,-4,T@WZ۸ø*:@*7*YGWD*,Z*:ݽQY-3:C +.*F:?5PAUVBZXUղ?ձK37ACZ6AY/9Z޼,@VBDAXٲ4 +-0*VZ/U:?2:L*?UԶ**2@XM/-4Wں54-P+0L+*,߳U94-. +*+/SXN*շZ*ٳUY9;ǴZL=AC?@D@7DֳSEʷOPش +K*7ٳS5IPBUN1NAY+532@;ذVVװ?NгXYTSSW,P +J+BJ:;?V*J/DOڴ4+JB:,֯4*L-JD:< +,TԶ*װ1@AY7=0/3.,2Y,4ųְ,:CC5R+?1+B;UC94<5ƴPJ>Wٳ+DOTRI:56ݾPF +F-A8GU19GZ=.+Zڿ5WBDߴWMZԴԸPKEY޻Wٴ*Z/Mױ+2 +S.P6JMJ65@>SPSR/*S5:ݹKX۹76:O@@Y +>TT@/*@W֯TIG4>OPTOWV/+*PC0TY4CO7GFCPF +ZڷQGNB6*B?@LEݻܻ˹ֱI**G0*ݴ*+*۸ +R*TDB+DS@MFBRCUNDӷ*FL*4?TJ翶S-.,46NU++ +HӻGQTSVL3P+ +:TJJ;4U22;JLDS>JA*;/T-D62.L@*1?VVT,XشXۺ+-0 +AZ>B*C/E655@B/ٰ߾4*1OR8?NWID:.:V׸8G3J7 +=Q>7*PLO0*:+>HJ9M2R3+PKF.C-A?+*J*T1433G2DE2*,5 +7B?FOVD9*>PTABSZ?T>P.S,@Xڰ7 +*Xܼ@WVٸ5T@WO:T5K*֯+ø?Z*/CZLAY;+ZT +5Wټ422ݸD?TֿND.J7.WN?O@DմDүO@V.+BMJM.*B5G +592C+5@6CB:AXڸ?07>Y,L37+@VOOO6*B.޸M>SN: +M:OR>Vۻ/UYVM27M9K>MSW?VIEUV@GC=IǸ +QѴTVHSDYNSNQL0J63L;Q>SNBC4M.CKNǰ* +3T=ֵ׻֯ݴ븳RG.UPOQմ7Eֱ56:6.*1*FM +װAR.8G**Z*,;M4?T>==ֱHJ6?4-*.PVN>1OLR:EWRK2CN>G4QZ +:*@/.*2PL=NDB*SR-*4?UT<4TUZú1+Wټ@XUְ +5AVVRMUڳ.1:*>J-D/*O.342PUY2:J,/D.27ͶN8CL: +KF*?,8L0?TR3RRVL,YNL6/.64SV߸4432F +2WDQ:X,UZV4?T2޿>*?5@V,;4U+@=N8H*RZTO4SH +BBZLZ3MBTNRK5V,=B@Wۼ/U,4J-W,JӸ5T +?V:,ZTLT/**ʲ1,.9ICNAFٱ۴LVE,Q2-Q +:߿0;CNFMHȳ?UQ<ٲN?MD˸UTGSBSBLB:J+>J17TR=Xݼ+5A0Z*Y.17***/M-RXP:K*33IP*8G.8GB* +K.M3Z0+=2B:6**4K,-:JS@Ǹ3S+RƹPO=RRT>L,GSF/TH: +J9*L,B,CI=R008G=Q.O-R*=R+I:++?4NK8ƾ +9>J,,XJ/.I++@LJϿ-QFC:23N¶IQH;N,6M4B:+B3 +S5G:>G*R+J4?4IDTW2>SL6OXN*,/T.* +S;KGG,H2?3P-;NZ.0?W8N>OTW4G-,D8ʾT-3ZLB +=QAN<.=QJ,?XJT450BSJ@O4**XQñ3ET*RձXN*OXֿ1N/;L +2?T@+5GJRD;+<:SC5WP=GD69K9O@S63MŶZݼ.@?PVJ +0;5?PLL/5@ϱ;;H+I@۸WXD?WK9*KڷC +WP3ڳOHزD˸,*QWD9966I*D+*6C6*-BBZC=֯ +P޾*ӯP*ַ*+*QQ8;G6**Vװ,+L*HʹABG51**07 +6FMQM6K,0Q*I*=>5ZEISOXLH@1޽0VOF3KNS:ETRK:K8G.;L* +.JOV/R@VJSNGKO>*Z3-2* +ZN,.B;+S*:=0.R1JS5*X01TVN/5а/:ƲB=R*ٲLOȰ+O.T +/E:F*:<.*CR6SZ*82DJ2=BJ=18E.>1H*J:S><= +4*F3-.2J><*LNZ*EU7NF8G.=M+C޻=:MQP*@* +-.2J1þI+NKM+LQ4=8GB5˸G<*N3XL,FH +I1:K,1P2BH,=3A.3DSBڼ+CBZJ0;*Q:KK>5YUPK8**5*ڱECCK@S +DMS@XزCC>+8AM@FVFX63C.2:K2;K*;*NJJ.=K3>Tغ>7*Ƴ4+ٴس7EݴEY617*R*0*J: +.JJ?+1޿8N6BFU*QJ,Lĺ3GGNTVP6AZǷ7G +IAHE6C*?4ANL=3;@S:PֲOҾQ?UVTROH.4>S*4 +@WڶQtR;/>RF33N7T?K;L2;QI: +3/B-JSV3/*R*>QTOʾF<4ZX*.LL+B3-N>JB8CM2;Q>RT3 +NR0A24=NP7=SL+*BPEB=->P6B,P*85:E,C޾30 +KPOʷ+G0G.2CY/:DT?+CM2K=46+MB*;B**C: +QI,*,-*ET?Z,:03RF6TQT->O6ίT++M*:N*U6űXۺ.094+EQ*=* +L1M+6GVSPS<0/=99I37<>HH8ڵA.Y*1Fݼ +?R;SXE8G>W-*G0GDC;-M1U@GP*D92-4ڱ;E +6װF.ZPGQʶYC+20DM;;*;V޲ֿ**2,IB +8GF/6B,*AL>,GP,G,-ZJ*ݽ-+*<-.871N<0V68S-FI1 +KI.EٱP-8K+CܶIӲQD-JE2=TV+;>AZNOB +.+*ݰ@WZLزC3Xڲ,XO4?WضFJJ*S8*XC,OA-1FLJ־, +29LNR:J.?4* +4?L2L:J.+4=258KD>2J3W.BW +JN3;V2*6+@*C= +0P*85D-BY07C-.>5A*:P**S=N*CBXKMPA;+Y*1.06C32*-H3>:0M21Z +0JCJSϯ=T*=Q+I6D38*B**ZP*B*ر2R*?0E۹ +,-,.B*=į*;*Z7KȲ;*EBM90/,AGIQXڷE +J+-0>:߽Yܺ/2>?XIPK8,M@W˱M-JA亴ZVMP˸ +?A+IB*:+C-7;,-O6B*ڶ;06:KM07E8HK0 +8*N7,***2,I.ݽZݼ6Ƚ,*:,*13,/4.+2*X*.F-;* +H68BFF0,4380IP:B72CUJWBP1ܱV۰-žDտ-;SZ3 +-RVVR<4?/5@WڶO?AZڶ30Z޶?,80BZܲ/3LZܾ;MZ +*K.Q6BXֶ+/6AX¯CWN3*RFL?-+>UZSLNVF:N>*F3-J +SN3/B3*Q,T2>TL,3<3F2*SM6*M>*3;.;<*B.35*4.?**;,*:˯0B0DPS*DP˷-,B5;1*D+X*,0*Z=,0 +NAXԲ*VCW*VL.5@7A+*R*J*ZTL3/JCZS=6:*:4*3E +.IDZQ.*+Q4XFJʴ6CZ.* +6+*,**Z2*Z.6C*07EBE֯M7E+į*,*F8H2;LK4I+*2;4? +T.63L3=T5+7J7,D5:-=*4׶*CD +M>L<;4>Z6K>9GTZĶ7.;J=V<9MG+LB7F*5/ +=M6K2;LNBSXN*B3KQ:CA*R.JE1QPU***,R*R*+ +N:KF<*JB3:Q´>+,N:JR7L**B.8*K>:ROʷ +-;O6E*P0B0QV5AZ=BDCZ2MUֲC:SO=T4P.2:@,Z2;NB:,J +30:N>2EP+0.6CMQN-19G+:T7>H=<ڿ=4ZJCYCW**P +P6LJ+7FC,DK.?1*,5V?H6,U*VسѵM޿-G.62,=Q8EVV ++/6Z޾+-ASBAGKZ2.D+.5+*8M7FƯ-2>*ET+7G,*19H*1 +8E;ޯF޹M:K8IF.*:K>NM;YZC/0-;+/5*>M06*1:IJQTV32:Sʷ=M,?+PҶ +,F;?:*2+.;NFJB*T,5*P.;NC+Q3>RB;>*N.*3-+I* +@RE92A3*JP6*SP8G.RK*Q*-2S-+Qƾ=<ַ=4*+2DPUV +B7/D4T=4ZJ޿C8+*+*C̾C>4*V+ַ-HK/5@ +;ʺ.J6*GVBZ>MR0/4,-,ڵE4HJ9IE919A:J +ܺ15VBLKGHWزGCF*AGKAYװAI07ZZM +7M0M,-گY.F,د@N56C2*JCZ26*CޯD--2G +M8*7;.-19IK2;H>2=+*XL2=Pϱ-15?T6F:4+VC*8 +3215AYE1XEX9K1:;HJٷ-JVܼ<8DAS-SZY +ߺ+0C,N6C+*0DK=@ίP3+C-*3?22:Z9C*XDZKݯ6CWضVֲ ++0CB6E.1AYܾ3/D0D::Q2JK.TA*-ԹI6KM*S2QtR; +L6?6;L2I/T=O:OLXMFP4?24Ը.UBK*3*LG +KM061/?O.;:K;I28EO1;-*O:*?LO>6*:C3*O00BXL+*E1M*LD +0:5?V,.>M29IG2;QJK.3T*Q.:MFCT.29K0KJB*;NN*2CM +IB*YOɸM8WOKڷ-6OXW +GGYFװI.9EжK*JF>59۹ݾ+-88AWSOŹ6C +2*20B,B1ZEP:.*ֿ-;*MƿǾ*-:KKY>۹*.YH**H9HA +;ܺ.J*U0*M,+SO5@BPT֯*:G2U+2>TWR +,>15L/5@Yʿ=7EEKPBES=D*4F޷MF<1*J=>,D +ESP8ED߱1߯P2µ08GWί=7E-+=PB8G=Q5< +>2:J,71:K,K6GIL +G5SʺGS1FQ9K4?7CTRIH0DAUF;,2:*7*+;-9+M; +M*+,--06Z޺/,Z߾4.3EBJ6B,5@AUH*U0*M,+S:TZLO +:L.3F*,;P4BNN?ճ5S,3;PDFڷ-QF*V7G,,* +6Cη-Q2=DC?2,޲;M6E0B.0CM7DH06BYܺ+ٷ=?W+4 +P2CַQ9,*G-R:19J23,3:L6L6C>O +D4=NF1O>SABSFϸRûøTL7S46W89I0W>M>SN6/-7E +F7CZRL29LN:LߴT+*HN?1>F,.>OR:+4>+-TTRPޱ;M08G.25:KL*F9K.0MMR*0ST;8-8T3S.DS4?AK> +3BJT;C32@U,1.;=,/J+<@,.,*9I0,J13/T,+Z. +206CXN׶+M-3?NR1:,*8+<=*:I>:L.*FF*T2=J*++J.: +GB+S?PM+O-3S4D9J.3TT:9NRTB8K7.+.>QH@9I混1J̯NS<׹FGM8K8WDJGBM;G +FC;EAPV޿+ܺXٳܻEXUXٰ8+5?38F,O06-*FM6D +;Ʋ;T*63*7Z*;J29BI:N*;8+N+RL8K4XX,:KXD6CD +8?TRB*+-**SH4>O@4O4SSZEVKLPP678IRX.CN5SPK2SUBO.8E/4GR߿2,O?WC3=0/J-GMBB:M8G+*P>:32 +AYCCҷ=S.IRK*-J2M7-06AWC?TBC2NS= +SCQIK/38E>SN8OD6Q7CL:5-1EPWD-3<>BJ +췸ɵIݾ/5@62ٵW/NPVC07DCK0MHI1*2- +EF;I5E6C3/10:*AYܯ*Xز55VQWNV7 +2ĺ;*JMJBJ7XZXB82=2.ZE;V:B.+N>27DLڲXھ+=P4CZ>д6D +ʷ23,*HC*JW:8M5S.4?SEX+RAL.A,7GðT?O/F-P7 +D=EF50E+-AV*+ZP:J*CKPE1-Z=4:V32 +808G9L07<>H,-R9=O8K:G.3R̺=QR +UٶT7@A0;4CS=Ϸ27>SP=RL3<<.29G?07E +U3U,G>TJ,O4,O3>SN3WS<<29;XM5@ +T:++07F9J:,3=.4>X/ǯ,,K071.Wڶ071ʹޯ06B,N8-: +M-:KLԿ-:L,O:4;+R/2*@.2:F18B:,B*AK6G0=NM/26=*+* +BLM6:2@FE;HM2;L.X0;HTRKOWD6DW@P0WزZ?AB.?0 +W*****/1-9KBN2:L.:HXM2<.3;MZ+MK>RLG,,7F0;7CC/ ++=700-L,PگJFN76?6+GQ9IQ*ֿ-=7E¶D>1PE +M:LNKZR=TR:J2..S<>O@KD?ULQBLTT> +RKA=SӲN׶MPG>>WܹU+QC>3=SQPLOJE=C +>SN3=T0*F>SJ3NN3=RA3O5,/>*аYR+,.29H18 +DVο-16,2=P2;2*Wֶ*18DV.*5@XBZ:>XF*;-06+,.7C2-/18 +5M.M19-:9/.LZJ*S:J29H;J:J=P4CDD27< +Q9H9IM18VE,+FS7-Q06BZL3*2L*,+,4D3N2BIY2; +L8WN8?4I-,*9Iƿ=*@QE8+˾S,MOJVNTV3K4/5B9I8ݽ +:XRƯL2A=MT;.G޼U1EٳOݾ*MGGEQ +8FSM۽8Գ1UVز97AVI0*,*VC*8װAM9@FZ+ ++1AYܻGYܹɵYYݻOX۸;:IV.߯Ŷ>AA.*.9J2+ +M18:*6V963?:B:.**:/*4@GM5;7KJ;MRB,Q0**R*8 +M18M:4-/4?JEC.?INR@WBEƯP8-8G4G+.9 +H1S=*.9F-/8F,K.XH.+4N2.DX0Kְ-D;-.1E3* ++.RJ+7T*;N2J3@OL2;MSPHOT>R:NL˰?S;A, +?WزYٰOTU7XX6KNS=>M,KZHK05Q06?R>CJ5 +߸:MJSL:=S.7;K-=*N3=OJǰõO?Qt.KJ2CZJKL.0-*.+*T/5BV2* +6D*+,2;.3=LG3:LJCZLJ;*J8:ZPZ+MⶲL:+2NRO2BP28BVRLB +*Z+M7;9-*.KRK.Jֿ206B8HK**B*:8F6Ͼ0,S33;LNZľJJ; +@MRBM:7@1=̺=IGZK-,A3/7LKI*IZ=QC* +޴3-PBϻPR-Q7AXܾ+17F+/>C.PG3K6CT2;Y>33ոB;<=F5<+FT,Y+BJBZ*OYXJZ*0 +4*8>J,3/1A68JL׶23S-N6SP6+K-Y,,-**J-P+<ƾV ++ŶR68JL;IG-N63N/J8SJBJE*OYXJZ*04*8>J<3*8B +.,*N?598DJ4QEVPJ/++.Y,,**J-P+<Ǿ>0R1U-3:*3F +BF=3VCJBJK*OYXJ**8,N+<Ǿ>0R1UNHN/W-N.N ++3+DL.Y,,*:*Q4:.N*Ÿ:LN3QT6DJ0:GN +-9;=ڱVH@U8LC+L.Ʊ*PZ/<ξK2:J*/N?*FYLL¶Y-R +Z4Jڼ.M*3N@Q*H2N*5I0ED=6W,+ZP+ +кX*P.C1N75.***I*M4,A>-3E-N<;X=Q3/WT=C;E7XXK5ZDXAUXȹK8.R+H946=ٿND**1+J3,EL +BJU*@W8JOJͯ,TGG6/R,-GN::LF2,/OZ*++OMJL: +۾*ǵ7N-,J+:80Kï9W3X>IJW*90J޿JIZ1Qļ4*< +G-+P0,XKFEζ+-CJW7<2T/0SD3<ǸJ01VAPPD8O*88 +8;;.ZQܽOA.BX97޾=F.=A7=G>R4Y;R*:C1 +VAOA6DFM1ѱ67N,U<+T/J4G;TM/2YQ.?L49;*-,2+8. +A:J8=-3*,:TR@CVLE5M8GHFAZ*+I/0QLG*JHM +:*.GCEF0?A?WCHF17Eܴ8X1-LO49ZH@=>Ƕ/X˲R +MFH@,X97F>:67XFM,X7O;P95,*K* +YFZ@Z++GC+4J޴S?:>/2ԾL/JܽQ**Z3K*;*C+FL +F=11:*4F;+=?;*8.3+UKGTS5MIQ-*23KJ.CE20? +VK,:67XFM,,X7GP95,QG+ز3Ʊ*L=5*Q+-, +*SK*ڼI<*V9*+,1.:,*VN11=8N+.:AIMJ***+RFUѻ, +ZSIRED*UJ*1W:ڿR2V߷¹:IO-6JR:O*= ++;-DWO8GM:Q328LSK0ZĴB5867XFM,X +7PO5,*=-*-3>:+.1Q:6:.:0F,*,/P,**ZDFZJF++B=* ++.Z8BN+O4K5>M8B+JVܱK983F*6IHKP0, +K+GڲM<391*=UZ۰GBM:-1FX+*/,8VM̹4 +8L46Ų=F.Nź;/DϽK*% +d +1384 47[1 0 0 1 0 0]sl 8 false 0 94 di +/sl 65048 string uc +*=-*.NT?:9+***=202,:>0,S*ZJ78JP:۾*˵1.*.,: +8G*7CF4F2R>1ǵT8NIFA+8ӾT4*.HR-CZJ +PJQBX1SZ5M+YN߿GF4*3J<:21,*1FZ4F湵,+.LQ3/..E?N +*ŰU=C20?18?8+6F;F-,8Z2*G>.ŰRD۲* +K-28Eȶ88V06Ų=-MA8ϽU***Z +-V8G*ECZ:*̺@>/17R/4=51CD;T131GQ41SUC@KD +UG߿MRGGYX޷4ʶHX-8B/M8C4+ONISL0JV*-WJSS>5ܶA8*A-I嶵 +369Eȶ6XZN?J,6Ų=-MMAA*ձM3OշM**,*E4 +:*3ײ۸*6,XN8X+,GR9OK-F*?F22IR-DM;ݽAV,@N޳+T +,ES11.41Z1GP3JDB>B.L82D+-ٹ@+PG84/-2DWYJZON +JCFEԶ.41Z:9-YPܶA?U.2޾Z*0,.L*R@VFıQ-W==+;V1 +/F5ձɷM/-X/,NZʵƴBɱZG8L009QDA2F.S +1Z=<**95I*C.?گ/G3-GCN***.MI +QFBڷWEӽ4F=H>QL;K6*PR6Ϻ,-P +****5;16ݵ>ڸ-*>XJH-K׵H6*I-ٽXK<ӷU͵1=8L +0Q5:;F4HKBX8H:1*DS=PH>9P;3F4Sܺ +U=9YKG2-J1N.CKE9VA-G1;7**HC*BJ ++-VLNA?UF*/8ղ۽A8INJJRT0ICIC*6X>.>S:=J?0=4M:Ļ +D11䵽:U2SHM4F1F03/P۸11=1111X;UEB +I:H9B+*=-*-Y:A/IB-Mٵ1IA-.8,BU>Y; ++7K?-3-AرDZRG1BJZ+7Q8G2LE6F5HJ÷V׹XD +HVڸװV7ZQ@R1L빵GFVW8-,?ҹE +9VUF?T0F1AXF8WPĹ?H-WU9*1+12:0@80MU6@>:J6W=99J219ԹAöӹ96 +1T6FL9O.GQ8CH1QK˷1KN-P****5˱3۸N +9MS=@FǴ⳶X42F2W޾D +?9Q>PLM@ʼ5?3ŶUۼG8ݾUQ-0VQ71ڷG +*59WYH+빱Fر-A;G1׹XFW̷SU +WY궿8S1۱AXӷ8=PV>Q9ܷOZX*-L +*5/NO6?*MBVRK9OHG99VHX6۶96J +9F:.C²,WH1F:2KR1IZ,*Q0*0XJF +RIݻGHڵ502F-*3GR8SڸUد?:D8߿+׹ +WG2TJO*?DMFE9IC0ݻ/XR+,F*, +F-=0*I+@5>Mȴ9E>YLMG.;,104 +HA9иEE2G4141EӸO-UQ>Z2UTEʼZH;=9Ҹ +PSܹ1*:0L7J<0HJDIT?B8IIڷ/1䵽:UE@6J +.1F0Hﻹ0з潹1V>**۵HZ0B@9+0823@I3**HC*BJ +,.W+9XPCB6:0*?WWFI߿=ڵP7UJ1۴ +GU6=1*G-;SJU2PV@Y/Ŷ;?EYJ;1,ٴYG- +Oذ-YX68-M?PN549=/*8DHM?WM +7-*JK9XĻDQ/̷PUGSӷZU0XEC@VJ +QYG3-/+ZXS9*A+,:0?I4BQK94<ڴS +-I9@AM;>IBIGEMIM*3RI߿ܻT +58+=***Z/*XٽIػ߹ر+,*޷YеR +H?W/.>19=,SP.V˸6:VBQIM352FP +/Lܺ߰;?/US=R31M@XQ9Rٷ=8ͻų +½VFMSYY*/žLFPDĸE52G43޳1U +TUB/*TNKM589SAX6޻T0Z< +7>HGWY+<032ZG9H02ٴ1AMDDC*PG@8Nݹ +/F8۵0*,I2ZXRI࿵XɰXK7RX1**++ +B-P9Rٷ=@˹سUSDڹU7LӰW9 +.ܹLFü@FW?龸E5243/P1S?VTHW/;е +WE7; +*I:J40HLH1A4=S1AAIZ,*Q0*0JX>5Z*UܹQ:ȹ, +6:1*@DְOOM89@,V1۸8ڴ?5?4౽DACI +XDU?QM3CQMX-OVDϹٽEֿZO<+- +M-۹0*5U>SWK8ðF߻=E5243 +/HLO??QX۹YE-XζϱսIIIXZż* +HR03I.1J<۴=031K:彾>1E8TԳƽQJT9*U +A*61C,*>IF+QK/9B+*=-*-֯:O++˹ʰ;7@>I.C7 +8ݽ0I8?ڻ;MѿG1FY/3HZJQ۶;,/?9CJHWM@8HMP +V?MF0BB=DGV.BUGMӽWD6P*0Rٷ=1@ +۵MϿDڹյ739ݱ0FP3F1ݷPEWBN4XGȼ +YIPF?T@I99ٽIUQFIYUB3M +TA6*IIL5=03WQ80XQԿ,۵޷IIG.UJQEں޻ +N3=1@.K***6࿿T*9A9U*߽88ܽ澸8ֲ@6TI93Ŷ3-2Y2GVU3F +ѸGڹQ+HVS;ż۽>ǹWEJYQ71ѳ8W +׹-XRA1@VQU@=6ϱFGAIPSR@I9?F +@FXT̾;?XF+1,.IX+U*:0JϵN>GR8 +FY7AUG1SBUA5C.F1F0OCUUR*89.M2 +91FG8ǺF:06-ͳ0+NTRN9,L>B+BJ?-.W+9WXF +/C<7FŷF3I7ٶCBܺ4Y+Pۺ7/UT@Y:H-. +Vڶ0ZضAF5QN++XF@ZL.XPRRTH +,=N6--Mۻۿ0D64*W-T޿8G8; +U@UMM0=/CN?<׹EO-W-B?,TGԯ +Pس@T9*AYż*+A9ݾ0?HX38޷R/;޻Xٰ3 +TѶ?SҰYپU;-X15B+,9*@9016YURN9,*Q0*0JX2H.XIQHձFETȲ.86 +AUHQ?F2վ4MAZ*=ITN:RUAR2ͿI@VFG +S9=8FSU?WD7EU.<Ѽ׳CRSYVϸ.92+FO91 +̹9LTG5C:R18=8J9V5W8FĻ-7 +V9J:9-8F@OA>CO;4**HC*BJ +G-K+,۵ܳD7S:J3HTKSد69ܯ= +?3/C9458ֱOFS-9½TH=S7TԯFT/8 +ONX۱>Qt;I.5;9IFٷ0Dͷ粲Lݵ̻+ +MHݹ7ĻZܴTWQ25KJ*UFO918DRI31T>OGMVױ +Z޸縳M11C/9*1ȿRH߷XWرR=DC:R/JRY +948LOѰ15@UQQWD?H-I̷8P;TVH/Z +U0-57NM8XQ1**++C5,966X8Xٳ.1K +9⻹1Ỹݲ5>9+U5رRU6WDXJK-VK9EB䯲< +FP:*X;./ѹCA.VιJ2X׿A;+L +-4/O<91*2LMHݵ/H澻ٰD7P25W׶X޷IQ-B޻Pհ +XHR/506B5@UP3XLX*9*1BG4R9+3+. +;PJX1/QUŹIHU׵>I:@X/IRA;Tۻ +?QOSGYʶTWYWI8WY۶/LTKXQ@I:A-:0ز+1? +>߱<:زԷ̹;JNQL̻ڵ74D4+2TLX5ӽNZ +IA-57N*UYSQKN9,*Q0*0RJFSNC=R-6޿ +OӵTZ?6κ,XD+3ṷYXZ>XY5/ +9*D:JH=09>FJUEC/M࿹TŽJ@8β1+ +ȶN4NZ.F*J7V-INW****K6;16ݵXY758; +QڱCLM499뾵;R28Z;T?1R3D?Qս +M7JTT@AD*RUUԯ/HH*H۹*Y*A38:G +I@@VVWհXس4UT۴DGH6J+ +9@C18 +U:ZN9A*A.CE04@MH**/.A+3K2T* +;**+*SG+*Y+1:+6>,J3+N:Yܵ*F=5JJ.Q/KRS,*滾7**4, +*P+4**,8O*K**J2J4*3**.KX3//V*7S1***HC*BJ֯-V3BC>5**B ++,-G5**X/Z<ƸB03*HԵ:*U9>B6TYBZ.IAH,R߿V< +*??/+1*,J,+.RжO2CLP4K8Y޻>S*+W3QRN1*28. +*7˱;۸1O.**JPI/9F1K1*᳿***=-*-:213+**1-Q+VI +ؾW:CNF+*VT,+W+Uǵ@*0-@*-.UXڶ +WٰZ**ۿA***K:*0JP+,U1Q*:H.=NK8XBN<*N3 +R˱I=JR53?**1?+DM,XKHU5@.=8<Գ*:K8C26F?MSK +2R0QZTA0N-535C,J*/6..A57=*VJ*4ױSZBZ/IA +H,JQJF0*J**0,:*=@PB?N5;**.**Q2*W**+ +*SF7.L-Y2<*:K2N +>=T+*0+BJY-žCC.**ε4JD/2,W7**.*Z?/.*18*NX6KO +72O*-,.GźZA2/:*7.RT+J*JP.*IMEL0;Z>?E +5:-I+O*-K.*:I;6O>PK9PB8F*ƺ:JUIET++<03*HSXUPNQ+Uǵ@*0G,3 +0O*Q5U2*JNZ>WLIJ<ǶD;8:+****A4J.4?4-** +5*AR+LCJUDĵ04ARC:,*8LP:=T+*4;HB,BJY-L=-Q+ ++ܻD@WE:+N,B*A21-*8T>;,0߾*-3-嶯3*C.ܷ߷,* +TرZ3?E5:-Y=湴NSA**7@.H2***XRJ +Z0FVU>12**2P**/*>-ñ+?,Q,J0̳ID6:̵/,C8*<;+ +DM.J**+>@XϹ1-,Y*K,=,;-16Z/*0JïA8G8O7239P*0XK14 +@7=*VJZ=Z3;E5:-I+C*+պ0*NOտ*=. +7Y2Ĺ5=OȲXGUIPK-***X6JN/-N?1X+J4*08NZ2/6* +?->*.,676+RFC:>89.*:̵6C8*Vм/BJ֯-.WG*J*E/J +7*0J¾J-1,*AI:8*N.<0Q1X,޾JNĺ0**J=U+*;3:*.+HE9>* +*S.Iп*52V*:**6,6+FL*,1J*+Z*C//-,JRB+5-?:LFE-* +ռV*KY2:*U2*LG*****ۼ7G,*+*8I=N>C,* +./I*+U*Z-*51W:;ٵIEFߵ6GI-U3-ַ.G*QD3DFQ***F +1<>+ͳJ*X:OZNBPV0*B*N3Q*C5+*5.**0,0+4,854 +-,*,*Z60?..:*X;˿H2UI@AH2DKGDLG*>1E +*-:A2AA=ݳ1*Z*Qƾ*R,1F-2-:*W**@?+2ZҺ=R-+/:D+S@O**A +EM4*JNZθ>O4+J>O4.JC2A0**K:*VX2*:**4:*.-*:߻76Y +Y6J+FL@/6B*貽=VG2H3FMTȾR1*2.*״7ðO+* +*:1*6*ZN1.-Ӽ*;ýF+*VT,6W1QZA;Lӽ8.XG* +,*޼3.*9X3Ľٳ1GKöʳ**,61Ǿ1,QJ*+6XK+J +@*:7*J;*+:MC,X9Q**ܿ*H8CZ-RF1,-TNGϼ-**MOI*6:տFM޻1Z1****UI*Z-F9.+:OM8,* +GIP+IZIM6NQ+HV./@B@W-Lر**MYF2*տ*,=.793P +2*-C/**,-,4Z?*B0̿0*3+*D<5-2R/TM+BJױ-.W9,**0Y +*Z@6+*+NX9ĸ0N-Q9G<5Y,*6.Q/KR,J:***U +1,*<:*3X6J,,KA@-***6*6:׿M66/**6*K/<7** +Q?*JOG<5X,*2.Q/.=C-J3U۾*,*@<*41W,/D?KV* +6:׿M6X/**6*KWB.V/-HJC*,*J=YIY8****Z0L +ٴ:D=*:ݽ*;70**޾0L,*9I*Q0*4J +6>=7ú31-**ξ0ZPH;ZVƽI*=-*/⹵:0ٵ430EL-+*HC +*RJ۷-ֻR2S@QI9 +d +1384 47[1 0 0 1 0 0]sl 8 false 0 188 di +/sl 65048 string uc +*=-*0E:0ٽ=*:7ú31-**ξ0ZPH;ZVƽI*=-*/N:0ٵ430E +L-+*HC*RJٵ-ֻR2S@QI9*+,ػE2EZ˰;L+**6*>׿BH +3P+NP*VA4.VDO/L9I*Q0*4J6Q25Q+ݽV<ҵ=*3WV: +7;70**ξZ0ZOJ04.F/,Y@5ZIN+*6*>:׿BH;A +4ARޱ1B:*2G*J<ӿ-W7<2TZ-,:7;70 +**ξ0Z/C*336@ٴX2FM?۽1TոDY*7?8UB +**1AA/=F2*;19Z*=-*/>:0Q/Z8.**@Y32*8-+R.:Q+**BRJ*4 +BSB߿*20ݽ0-*HC*RJױ-ֻPUJ8JM,E9.**:ۻ<5N--+*-/*1- +K+LO.1,J.EMD6**J+7C5>* +9R,E/**5YF;=.38.2-ŲB*+,ػE2=AY:*MJA2J +M2H8J+;.@9V,2*/1,UQN.+Z-+:7;70**ξ0Z@MH4׹ +P,PU4E/.GGYVJ.,*P8A8QN.1Z-+:7;70**ξ +0ZO4W0:O=F+5޼̹=*@*ܽIEJ/*S*0JF23.;H6**A:1=F +:*;19ZAC,E2յ5Z,;19Z*=-*/E:0Y@.L9I*Q0*4J +6W3ZIN+*6*>ٿBSQ.E>5=91**J+7LLPI;**Q0 +*4ƴJ6>=7ú31-**ξ0ZPH;ZVƽI*=-*/>E:0ٵ430EL +-+*HC*RJٱ-ֻR2S@QI9*:E*U86PEJ+7LLPI;***JX۸ +Z*UD8*/:030/Mܽ,+*8**4*D+4ZJ0/X3FVP-83IL0>K< +6+/E:0ٵ530ݽ*.-*8*ڸ,,XX72FK14/SJ,7.+ڸ-T1E;7ZJ +ڷ-+*-޽NB***UA:,PJHF17Fò+X/*N.:B:ڿB13* +***52+=:980X໴FLUH99 +5<*46SH.P8,X8J+7KI-*+*UXJ/˾:=F5=* +46Q޷R6A;/*4RJ6TSYPH**8*ڸ,,XX.-:7>5<*46S +H.RX=X8J+7KI-*+*UXJ/FMF.P.:ZK,J9/*J,-XR/+Zʹ+/*.0B?+UJܻ +B/ALJ:6б15Rθ1*62J6TQ***8S6G*@GЯN*> +:3翹UB+CN414ƿW޻Q*G07.F?+LUJ8;41:42=HDZ0= +31**+7K.**;/XCX2*E2:V.0*=+9EKBG/Q,J2C/*C9 +K-HN*,6U*3A,K:1,L+H.,+*HC*ZJس-RG+**N+U5,* +1,.-+:NP2P1WK.*1-+**..1F,SϷV18Ͽ:?2J71-A:4JJH2:M.0 +I*9L*Q0*6RJ6TQ***8S6GN*BI2:3FC+R18׿Q0̳+:R++ +J2QS-RR*B?޾C-K>R-M*0:0ӽ=***>JU㶵DZ<*L9 +.RAQ:N*Ƽ-JH8.*Q0KZ,3;Kֹ=4AO:4*J2MFUI*9L +*Q0*62J6TQ***8S6GN*2F2TO*APJ0B/1>J:8.*KZ<,3 +;K=2ﹹ8NJA,,.;-+ϱO-K>2**+H7K.**;/XC0.Q9 +,HKS.Q=9*+*-,WD2Y2*X0XC0.RJN*D>оĶ.7+̶ ++/<@6:@J*;2*4*课M8NJA00B2:3ȶ.PSMD** +HC*ZJO-R+6G@S0**޾H0-*CX19*=-*0·:0ӽH* +ܽ޴-*HC*ZJ?-R+6G1E*+*-B2Y9*ݽ*-*HC*ZJ--R ++6GYEE*+*-@2Y9*+*6*B:SB*JLJ5˵FJJ07-/9 +D+*6*B:KB*+*UA;Ͷ6G6.8޳?;.**޾.+*+:R8- +5N:/?;.**޾.,*.@;>*+շ-65*I=+JB9 +,MQ13VRUKPJ2A@98HZ/=:7DƸTZ2+3KA/*== +3:M>*UIAS*9<*V69HP5,0@J3*KSUQX +0:F7,Y*Q0*6J6TQ*JL+W9W0<>T=-,WL-ZװJ*ZF +/:3۾,;IM+6.+**N,*Z5+.Y6.G5**+O4K.*>յ@J +K;-+>B*H:JI/-16J2:**..3F:*H8*IR*/*9Ƽ, +*HC*ZJV,R7+*;0ԯQ,,,1B2,.QDZ*K,1Z4, +7JYAV/96+BEB*XUT-JIQMSYT+,*/-*ȺK +R92*/8C.FETY*Q0*62JJ6TI*JR+ڻ9X:*45:**X +B*F/5I+*AVJ0-1P+87JC1Y*Q0*6TJ6TI*:W*CH +1EK.*TTY-,8麯IBQt4@JOIBL.4/*Qӿ +G5**+S,K-*AN+*CLŴ,8KU:-*ABR5=K;+>/;9@JX.2/ +J*=.Q4/=:.5ƻ++B:9EB*J77**+R+K1* +*Q0*6.4J6T*:MU0**޾Z*-*C*=-*0N3:0ӽH* +-*HC*ZJ*R+6GYEE*+*-?52Y9*+*6*B:B*J +77**++1K1**Q0*62LJ6TI*޹J޿QFJU@3J:HJ +QO+JYT*=-*0J:0ӽ9*B5?QQ6AFJUOF*׽/O,U +Ṵ+,+*6*B:*B*JT++E1YH8,E-,Y7/4810** +.-,*W/.4IIXB,NX1.+7U-*+2F;G-2Է12X +J+%%% +d +1384 47[1 0 0 1 0 0]sl 8 false 0 282 di +/sl 65048 string uc +*=-*0.H:0ӽ=*ιK+-*>;Y7Q.,*M㽻* +MQdzM-7*=T95**+1K.*=456:M?F3.A@1/55*,Y +F-5:U?1,M-+6=9*6HJ6TQ*ZZ,,EQH +YP0AݽN,/8V52+*7M24,VVɼ//**޾-,*׹/. +*BоPGOJVI::.:,J24V*B4ZYAA*+*-82 +4*N-A:J̹-87HHK+8MYY*H::.:,JBܽ0ݽ, +*HC*ZJ+RW+,,Q1¾I2/Q797*-,,?= +9WI1X*=-*09H:0ӽ9*JN=AFJ̹ߵO*>ٹ>7ر< +AҰ0.:1<:UH<15**+31K-*V=3.X- +AP4AG/<3F=D;LTU=-ATKï1.;/,L2ޱ0:* +Q0*6J6T*:MU0**޾<0.-*C*=-*0>J:0ӽH*ӽ- +*HC*ZJ41,R+6GYEE*+*-B:2Y9*+*6*B:+B*J77 +*B*J4HƯ;<8-GMB19E,B8Y9*+*3-G5N-C@L;< +R1H72LJ6T11**+J//K3IV޽0>:H:0-*C +*J*:ݽQ,F:MVB+EθB83*R=*R6G0D1V1,/N* +*Z+ݾ8Qݽ-**J:*H*24N*?,O,<.H3>:ER;X=86?L4FS8 +G>/.06B:0ӽ<*B,+E=6UFްA9C2,/;5**4V.X:*TAV0 +**P+80޿2F93C=N2*>8B2M:.JR+RG<*ֿ- ++E=SFްA9C26/*LJ=;G+EBJ+J,1/<0.3?8F: +ٯ54-̵M@-6M0K6J+D/K.*B4+F*C7;9-ZH*E57D +,3C/,K**FH-QK,B87R<-ҲJ*OG,CFHKLY +:-4,L**50OZKW?N*,*1>YB6*4:D1IڱC*ݽ-R-D*1P18Q +=ڳ4X182BB1R+JEGB21,6WJ6TK*G=7:MG4F: +SMѵEA=CM/P*+F5I?=HZEW9K-YMY +45,5I0FL9H::,**R2+*,575,EBPŽ4+Uһ0 +++*B-D*+-O*>L/8I5WMö@1Q@X182B?.Q=58N65C +*-L62Y2*ս**08/@2JF4G9*D2R3Z** +++B+ַJ8͸/Q1AYZ7.EM+C1ްS***,V5F25:P-- ++UJ1*B*:ݽA-M=+/8DJ03+*K47;B?B߾ +-+*DQR**-MM+4GZI395K2?B+20:V-*14*Q- +=X*9:2VCG67OI?O5E2J6B++K***+M4*Q4J6,5+ +.2+N0OAZEJ1*B*:ݽA-M=+/8DJ03+*K47;B?B +߾.-+*;>**+U/*A<*5J2?2+*+8N,AV4* +޿.Aۼ,5@PѺ*9J*1̾Ƿ*L.J-Ժ*N/>6*+-L3* +7J7*FBMG*3FW-2*8BJ,5߾:,.+E+UR +Q*.R-/:BQ+޿:2E/:2-;B<:+:F*6R*,BIG*I +-Q::1,B*9,B+**,-=,*9;8;S+/*1=,I7>F +65.,+823FN,,T6*6F2,2+*85K:,M,/E2;:-*AA8,-1DJ< +9.Z*I.Z,*0>M.02Z2YKV,,*+@QJ1**+W2K/**3.7 +IWUIIۻVݷI>մDW,1*L*>*H.G3;+>E2; +Qپ*㴸U@ڿ2**J8>>?B-N2+FF1Q@@WHYQ9* ++*-:24**=2:MGEF*W,BKY8*=-*0 +G:0ӽH*ӽ-*HC*ZJ+R+6GYEE*Z/*JݽBFR02QZ-Q,ZJ+ +R+6GYEE*Z1*:ݽY68GF;?@3Q09H:0-*C*8*JBFQ +5I4A5-θ*:MU0*+*7ƽ;M;30.G:0ӽH*ӽṱ* +00L+,E2:-0.8GBF־Q158@XB.FϾٹ,,<9+FN¹=,ڽ,I7 +ڹJ6TK*Z4QDJ̹-S9Z83,H,FB98,8F*=*3-AT0**8> +.F2M3*AP+8@FW-+1.:FAV,<,3SH-**ڹJ6T1A.**0* +ZV7-VM,*:Y:FE3*+>*Mۿ?U?-**14R,T*JC-J0Z1 +Bѿ-,L8.F96IQFN+1KA.**0*ZP7-VM,*:YSFE3*+ +-7:+314J=G7ܽC:J*ݽ-*20,>-S***BFٵ,1082QF3 +H:SG>33Q;ǹZJ,,R/+**+EMF9/*V8ZJB*QE*10>踴J +P-C092+45J77R3J**514ZB+9,M1-<0.,> +L4F.=BJJ++-*.:8ҾȻME9PJ޳82B8CYF6,K52:*A62 ++88FDUX2B8++5E+HF=S7C7U2޾*L.5,*/*5>I +*CǺQ-+*-520FL9HWS+HS.9I8׷KIE:@ ++U5B-2*޿>*:*BW83JZ,F񲳸?VXI=DOJF*,V* +?,X?O;U7E/-+7*LE2<*@V.XG-+W6,YP*WD˾D ++NN3S-ZJ/E,R/+*Q5۵@.*C3,+*-520:Yݶ+;ղ:6P@*81X +ھ1CYZJ+3O672MQ,J澿E**418>Z*޶:J<46*@ʾ4:*F8=+AEK1 +ܿ7:Ǻ,PT=+WLN:.J6ν<++AJM-*H<0:*-/B6**00B, +-T,./-+JP68+IS0<8.ʶ4=+,*K973.+:C>IϾ*WA0*0*C +>/2MMGR6GSI-,31,B-;+O.8**J<,RG?*4XJ6G:D +S3*+ڶD/,+޽I.AMK77*A1:<0:*4-/ +*+*-L*..J=D*-8/VǾ-20B*.*FIJU/ +/--*ڿ=@*P0X=񯶴-A.V1̵?=:AC,8OFٷ1ÿ+N4K +/*L52:MU:0ӽ9*IJ:/AFJ̹4 +UEYP691.@IYW:+EI>7.I0 +JXN7J**6V4A6@B+SAIǿ+,GMDG,NW@J.8ïZW* +4WH8H0+*.*@46RJ6TI*ޱEJ:?QFJ̹B2.NE·336RJ6T*:MU0*0*;.3C4 +6.,WZY<7*0T:0ӽH*ӽ-*-*66C/F4?AV18*-L4>2Y9* ++*1+*I*M4R2+*6//35KLĺ+:+2F5V<ѹTS8QJW/ +CZJI,R+6GYEE*:*Q4:.F־.*1.:L;T+-FSUI9A-8;,N +A:1L68BAB*JI*QDJ̹-S9Z38,>.E/+ +06*8>J,3/3,,82JX:;MHӾ-0+1BA:1FEݶEҾ+.3KA +.*A++E=6UX*6;9.*X?J;*THJKE/*2*=/N,8/5Fƾ +-,V;NA=+>;952.R+,SN0öN+A41F,0>M:0ӽ9*2췾6G0.T +I<=+4*+¼,531RA*K*>J<3*AV**Q23J*+NA=*L*5; +-B8Oǰ813

MZ.:**5OZKWG +LI-XJ+׵Y*+,OPH>*IH?2J*N+ZMGA+1. +18H6:,+/HI7.+O-4B:4B*.-,IͶ6GRNѿ* +/.-819H>*Ҽ9KZM72ZLY*?W/6 ++2**,E01JS:I7IRF5J;MLGS0+* +8,N+<Ǿ-,ŸX,828F*3CK.53+BN0N85F,0ZK:0ӽ +9*->LJ*,+5AXJ?7.:7+=5A+Y562ZJZW?L3M +-*2DZ0:6U9**VS*,Y5*AF+4JS6:0DY+G*K* +>J<3*AV3L,82JZ**6+8B>.936;,F.@:0ۻű޾,4.+* +S>-,QS@1@:6RK,-:Q*NI8HMMYB5@W1/HB@5: ++M*N9Ƕ-2Iǰ8+Y1.+**..E+,-+/8߿8>24-6,* +8,***>8/8+FE.;+1.1XH6+P*35=?Wö-QG̿ +FZJ,3,R*R4JQ+UOO*90>9YAV4*0*+XY9 +<:Y-I9/+*FƾEZ+.J5BCQ9J+HHS*>0ںY+585 +-*F.*O2A8JB5B*J>I/:?*C?S9NR44AJNI +/+IQ*:HJJ-N1,ϼF*.+.ͽC1:*J68B*9,2+*2IʳۻY ++PPڱ+*1+J3,-C-,J,7-9F:0,ZN7JE*<+J*1K*;*4 +192,,C>FZ**AV*K*Y޽.+3K-*8GF/17 +PUCAG?:ټ++Y=Wɼ5N1/X-1+ +7R53-2;**޿RISTZ޿1S*W,ܾR;;QI9*+*-,>2Y +2*>T98+N-0WSOY0YEG/F,䰼IG8;J, +GHYR7EBZ530H?J***1K:L+1HP+YS<2*3Q5,ME.I+ +*Q0*6RTJ6T*:MGEFSH-VKV1+QºJ=RR+*HC*ZJ,R+ +6GAU+@3:FHN+4L5;9:V6>PD**6*B۹B*J*MR40 +@AS::LN->*5-3P?*4*J0/H<޾,10-*C*J*:ݽI +F-O+;X6K1**+J4+CGKTRF޾2A0-*C*4*J +098ZJ5-R+6GYEE*Z**I*M4,018JS>6A*0.:0ӽH*ӽ +-*0*Q4,8/3Fǿ7/JZ;,B:ĿB*J77*B*:ݽIS3>*PN0 +;A-5޾2=0+5*/X6G0E9M4::4*I*=7+8@F.* +-L+R9+۸K3CJ;33,*J/T,6O+ +6IR@BMO-*R/9>7,S׿5*V0*.K7D9EFDӶ5J.8>ø +:>8128OT5K0QJ3IBW829G35*+*5J+91R:6;KH**B*:ݽIS +3>*D,G;:/*0@X:0ӽ>*HGN6GRNYMY1?/PWW8@JP +7/ɵXQMѵT͵+1ؽ88/9GH߽߸Ҹ** +5C608428ZC.ӿ/-F,=<+1YXAZ1SWN87D +;+32*+ZEJKO1*;Y6;KH**B*:ݽIS3>*PN0;A-G1޾/ +,*T=4:MG4FZE0.MA8Vǻ@4*Y5W:,2K*C +>,-T*.J.KF3:G,205G10108T,8.Z1<0L4+** +7ǾA18A?+@<0N7I,1,J9GQD/*/?G*º>1G +ENSY<+*+*,/*1Q*/FFC0BC+5K.*E4:MG4FTP޴ּ +>J,HWI1߼4J3I1-,*-/**5@V5F/ƼRK*I-0-.Q*;Y6;*+**6*BݾB +*,.QK=*NM>+YZ+S@SE+9E,M +,+G62:*+5OA?OFF-9-4+*6->,+ǾA18AI7 +98KT5R8IFRJH3+;ݰE+XF7:FL5Ӵ;Q*+**6*B:B*J +++U-R93/RRI:9T:L/*ٻ+:F+2,M,Q*J +F=Xү-O31*F-,-4CC9-**P,0,F¹E4ɹL< +MC+Z?40*T>/**LI:*B,8SF**+*-LB22*696G +2HY-/ʽN6/-ΰ9,ƻFYҾN=4JPUU:0A-6*J563ƹK1,,+O: +VHRE*X9+Z1*FU/***,A<:GM/;XL1SWN47D= +*0+J-,X*U3RJB:<92XW6+R>O<***+;@6K.*U6:MGEF +?YRR*7F:O+,0B.ۿFYEڶ61:-/9IE4V>D> +-*SU59+-F,K5T:9***޾.-0E,*K=?07 +6?,F:I4J5D//?++ACZ798EARBJ.** +91082YLV+C8DZ0EӶ*1*.8/KNV>D><+<-6N +2Y6-***ZA:=FC4856+5K1*ڱ=AW71޿ +-**ų.85C**>O:V7H83JGA**=-*0X:0ӽH*7S24V;1::Z0̾ +D读S.*,.-M<5*%% +d +1384 47[1 0 0 1 0 0]sl 8 false 0 376 di +/sl 65048 string uc +*=-*0@W:0ӽH*.*:F.>R*8O85+MмH9**6*BְB*JB5 +VW**HC*ZJ,R+6GYEE*+*-L@2Y9*+*6*B:ٲB*J +77**+O5K1**Q0*62WJ6T*:MU0**޾/+*H- +1.-淵*Q,H/*ICFJQ2+*>.O9Ϲ-**޾/+*Y0XS +-淵*Q4F/*ICFJK+*ް0+RLL3I:E*Q0*6WJ6TI*:6Z,6X6G0 +NO*M=-I**ZC*LIR1P8*+*-UA21*./*58:M+FIR*H +G@RH:G?-J*//5.8.+R6:+.+C**AJKEKB+T7/4G=޻Z*EM20* +55B199F4-**85ETW+@ +YU*1ݿEM20*GY9FW?O07Z/EU0+9+*6*B: +B*JED:*C3,+1M+<+72ξ;+MJ2*F6:=,208޿ +4*=,,۷4RR3Z*+*FRZK?Y++@+J/-NM +I*BܻB*ڷH*CޯV-*1.WQ=ƾJ;:.BJE3.J +Qt*1LS*N8 +IE;*+*-عA21**58:MIET1*6WJ6TI +**/;N-AFJ̹OJI3Y05@:,2I,1*P*+2ʱ8ZR4J-.=+4 +:1S*ZH:.:,P+N/Q+XN*PPQ>IE;*+*-L@21*N*58:M +*TԶ=,M,*5<:0ݾ*9O*Q0*6J6TI*5òFU:8Y6GFVɸ +KQ6Y1.Z,+*-6W>IPU+A+IF1Q +CðOZ-1P+8TUL.-<׾I**Q0*6RJ6TK*4D:JQ@S +-I-1R+:O6<3U2**=Y+<*+*-+LSJ**8*AU0GO0**޾P/+*9LQж-,QX*9.K +9K1W2I*=-*0?U:0ӽ:*Zػ>J57:MG4FJ+,.G*I?FXHQ +T;*-?24*UTA:J̹>52**T+춾U=-*HC*ZJL,RW+ND,, +,QV+++*SE89IQ+*6*B:DB*JI3ZQDJ̹>1Y +8:;-*HC*ZJ9K,R/+JͲ6GFO6,?YF+B:K.+:YU1ARL@.TN11D*Q0*6R +XJ6T=***T+T*L5>:MW/B:K:/,,2-+;<:AV*=-*0V:0 +ӽ3****S*/4޻TB146H4FJ*XNZ+.8.+R>R/@6,< +F65EHM0;E:7*MAV*=-*0V:0ӽ3****LS*/4޻ +UF?*-K*FV;E*50+0V8/;9/<͵KμC+= +Y*Q0*6RJ6T=***T+J./4޻>PT=-,WL4NJF,2F2,*11-.Y +B1N76;-:V09T*1X=JC+LY*Q0*62VJ6T=***T+J./ +4޻><5-,>2ZNJ-2F2,*1-N.1:0-***,K*ڶ1źA. +03:5/**޾H/E+**4JTH/:WJ+C41,.Q,+3** +-O*.4*ǷE261ź*1-2,96,7XUJYƾD +4JJ,2FR,RP*<+J*޵P8,-792B-*N*K/;F*PP>MA9*+*-4 +=2.**T*II/S,/UHDYK??24޿+I<,*HC*ZJG,R*N.BZ޲ +5޻DB346H4?*R,3IY-R,RP*>/;IC=1,Q1O4QN +*GY:F*I+YڱR*6J6T*:MW+/A.O.Z+Q;7,** +޾Z.-*C.I?ĽH;J3+3*GMLE/**+>3K1*W3ΰW, +EMݽ,*HC*ZJQK24;Q:1OO71E**7 +,2XQ+.:AP*?4FMZS1RTX0+/TA0+6***޾K.***Q=Z +0J:LJ,1:>ܾ*V823,,N+*:4*߸NJUU>0.1-X=8:V6 +,轶X*S*,Y-ֿ9- +-*+*-4;2.**3J̹TII7/F4FP,:+*>Y6XNZM,Կ +2,OZK9JBV2@M,TB146Ǽ3QY-L8+?FKDU:79Ƹ +ѶG:QIS97ZDI6Ƚ4ٹ.+7*7GQ7>R;98O:0J +ѹN39+K*,ZS*Y3Q,*XNDS;NH*D1*6J6T=***XQ*I+ +Z/4YX@I=*޳>+IEF**7׼3F:*HW ++,5FNW69HP5U/EF7Q=V.;*@IC3.J/+1 +Z*ϾE;Q/OB䳴N-NEL*D,;8*/1I2 +R=N,ܽ+<*Q0*6NJ6T=***XQ*I+ܿ*AU623UF*;4S> +IE4:*F.**QN*H+A2C6=R+R<*6Q,J:RE:/:,ׯC<*ڷ +,Y6.=@4,N*84R,P/0*.*C*ƸQ:0ӽ3***=9G*S*W9 +A1.:9B1PA9.;+*DM,5.HG:.2**,L3J=S +,F-Ͷ1>01K2YZ.;*+-ٶ;M±O.NJ;+6OV*+4@: +,J*I/:71=+EI3:G;R1VZؾW.B6LR*T?ER-M=NYRV.V +;*Q0*6QJ6T=***XQ*I+BFI419WT:0ӽ3***=9G*X65G@J/Z:*. +X-ٿ;51::1,*.J3+KHGί8JC<*ڸ,䲵BZ0*AUBų +JQZ0U>JCIT322,:,1ؾ-ؼ:*;,Ѱ+2/32F54J8M* +ɹ,.Q +P4Cֺ5L2***滳+<*;-/B:NBP****E*+8TUSZ +*7.>*7/9:CAƾZL8JM3XNS.麯߶IQNK/0 +ƾIH3ڹ3.=*+ENJX..,.1Ǻ<+<*-JL +D*->2 +Y9*QͰW,EMETX*+TQ78*Z*J*=+H8,ZJV,R+6GYEE*Z +*J*=+XJS*0T:0ӽH*ӽ-*0*XQ4,8CK*0T:0ӽH*ӽ +-*0*XQ4**3-.I*BRB*J77*B*:HS-3,CR*-,?2Y9* ++*-*L=/:+PF-6/ZJZ,R+6GYEE*Z*J*=+H8,ZJX,R* ++@+*4-Wܷ+CX5-9BJJ,*̯*1R4?* +*21*I1JU/H>RQJM92۵KNH30.*T*9.G<.V, +OM;*2OHE긲SYC:+6**1*P,8.:Mֹ/,IMJE<++8Y3V1**-:I-/N1.6*.2 +J޳8C8JVEH:PGS.QJ3,.9S*FX:;²KM:B4.VUU,*4+,/ +TJ*Z2-,>2;4X3+HG:A.QNN?DOL=VHN +U>˱6MJ<+Z7ܸ*C/C7J=9ǾK+1N +:,JI4<++3L2M12RQ+.S*1*+7̾K-J1.*߿FSEL9Y=8J0G2*T:J*;MXP +ATY2*:MP7**+*-?2.**=2J,Z*K;-+.B82,**22M=R +A*,2B.L*/*H*-LN0+3X/:,*-13**,?>:R +KU߿,OV*-;*,S*X>;FV+I35,071>2>FR5CNC2/5 +/,HIRRC:8I<5KIJո114+XFHڿ-8=ںL646*2T5C?+8 +>3G3N5X7/H*I5+93D+ODJ?-M*0V:0ӽ3***1 +6XU4/C12IZ*+KZ0:*KC9>I/:>3*4οTعZ-0*. +*L==.>;VGLDVM;I<+*SC2C51,+L=JD06A* +1ZB8F--+1F2QHUX*T5+3ING5N>>0.TQ +=5G*RGA-**A*J<+8*H=1*;Y*3FT0:5U5-3HL0O,5E޾/ +E+**4U6/C1ո**:-:*C9F/5J,6XPV;67 +G+*>2.67O<5==>G*,.?L2926779.*G--.Lѵ8K +=06A*J2-P1F⿸HF*E/=*Z7>*632TQ,*EB1Qۻ5 +:-8.*0;6;.Q=5G*+ۿC>1Y1**X*N,8G3;޾M:,L81 +8;S:-H+*?2.**T*G4U9O6=O+91+麯 +NW+1NU-+2,H:8GU-,;GRW,887O<5CǾ3B5 +̾긺2KĹM.18*3YZLYO9Z7ڰ=;+VMO@018JG/8 +,3๴0NTH*F091ռH8/3RYK.-F.WNL +9F8W5**V*J3,<>B2.J-ML4EW+-T?2Y-*XN7 +.*AXJJP*D+S4L.59޽I.AJFLJ+AP,MU9+L/BN9+-1JZ +<+;V/7N3/=49->NCHC>:WPI;-@ +4M:YԿ.I7LGM=-AI8/FR-,-*QI2@;36ȶT? +8ϱF7L9IAN0KA?Q>HKFNY2G>LLDGAR,*0:ݽI7 ++3C,5>,U:EUV-@1:R. +XN+G6PBJDL-+L2<:1Ͼ¸:N,:GH.I6;5OM5+E+* ++0,XW޿-FT*3C//*QLV2LG.F=/9ZJX78.1->B8L,5VX?,-T? +2Y9*09*W<񻱸R*+J+L8,;J5帱+3:D1ܵ +߻6-ү;E*ƹ@1-0*0*C3FM*3CS/FZ=/-Q.*8޿0FL5=73Q +0FG3MP,62J6T*:M鿴,6+,6ZU2*ǹ2ο?.RAR +1,*+*U0+0JLĺT+168-X7J2++ڰ=-*ǹ7>AE77UF00C +E?޾ذ/-*C:YK1@*/*YCG0FF*3C.FZ=/-V*,T*ߴFM3 +A5-F˹:,0?U:0ӽH*ӽ-*X*+8.3M*3C.A*L. +83KF:5ʶ:+QZREUBFEMI2QZ;KHFO6@=<,0.?T:0ӽH*ӽ-*X* ++K,;9L1F*2-82++537R6/N115=MN3R+->2 +Y9*+*A*J*P:+N1;-XN1:-,3Q+,:.*XLO;,-; +QN0<36:.+7O4K1**0**E2,13JLĺ*=*J/8>J. +++Fƾ-Ӷ,QD*3Fؾ=.8޷,Fŷ8/1<+?4K+*0B1*4,XH2 +=5F*:0*IZ>/**G*M9A-SW*CX31**+?4K+**4 +,=IU5A:MO߷*49.F<.**G*M9A-*?H,*HC*ZJM,R +***+52:MO߷/,IMS:0ӽ3***O**Q,H1/F*UE<2*UW*Q*693 +C-2׺ɹ@*+*-T>2.**=12*:*C7W0<>*+C17ZZ +*޶4J:6:J**22̱=X1,2B.L*/*H*-LN*2 +3=.8B6+VHKAG5**+/?4K,**/EXJ6GB5VFP +*:*K:8I/:3>3**,O<:RKU+߿,OV+*-;*6F.VHKAGU +.:ݽQ-.߰:ϼN=*J4Ķ36J6T=***XWN,,12IZ452--6* +1+28JS*KHMJ.VDEJ-W1I0*L@:׹/*V+*SJDK6N9 +޷4CF޾8/E+**,NW@A:J̹ε8-.-+6I*1+OHS*-.2UJ +H7+9G-*;Q,***Ҵ::V0<ʴ1;F޾N*;JҾ +1W3.Q3FZ:ZG+JXFCU+*0*Q4X,828F׾6005 +:BN;:;J6-<:*0NM:0ӽH*ӽ-*0*Q4X,828F׾6005 +:B+׶*Q9;LNA?*8K޾FX.-*C**N+5*R7J*1QX5 +2EV@5=ѯ12;X33YZG:KX1:QZJ23,R+6GYEE*Z*J +*10*1*FɶH18IF==JJ6,.7L;K+,03̽, +-82Y9*+*-*=/A+1.1V?IFF5=K@J:V*:O@+R;QZJ ++R+6GYEE***I*E3R2K*1QP+T/߿-FUME.*8CG5F44S?L8 ++.THRX+ZJ+R+6GYEE*2*B1>K4G޾-**-V-*BJE ++>FA0*IZ>/**7,2X,RR-B*Tθ*5RJT-DQ-/FT0 +63**HX8.<4+0WPж4+-͹/*;*YJ9RJ>0+1K+ +**V*A/B*/1,8JL,*0+ͳ+־Z?8*G޾ +CQ*IJ-1?/NA2@㿾LQ;IDڼֹ5Q88M.05**/*+ +/,2:B:BP***F*D2E5:MO߷/,IM.@T1X:EN*AZ<1,=C5==1:CGQZ2*JF +A***+1K,**-Tʽ+K>OMUU*.0/B*FRZN +J*J*,X1*+S3*4-<=+*R*J>*>2-,>2;θ* +R3+HG*5CB0C*F>LѲSN-2L-Z:W7вU*9ǾP<> +Pڸı-+M-2̰=ָ+*A?73H<981*62HJ6T=***8B*DA@ܽIXP ++WI-Gմ-.X*8J-:2/0I/? +8̽+ιL,VF>*6W2/.:S-I=5F8>YWV04+U@8 +=EC7G1+*+2:3N0ZJ+R****J55Z9G@-I4J2XI+9 +E*+>NN:,JT6.:3/,RװI=7*R-T2:,/2JZ9+AM*IK*1 +:.J2׽->@A:.7L+.:**20.KEZ7+C;+CB>*BG>Q4H +74HJKSY2*:GZ2ݰBK7**@9*5,.,BδBP***, +ϻ,F־:*CX64C2JJ3:**FI>:N:,JX*9.:K6/BZ5AL.>˾ +9.:,*JM+,+A4XP=XF8>IV0*U@8=5F?Q ++NR*-*A64+*2-C޳BK./+,=M-K<+0AP,XL4C83ZJ+R +***R/:LTIؾ:*CX@Ƿ*K*J+*Y=R<2+*.NJ*/,R- +/.++XJ**NJ*YC5I2+BBϰJ*G>1/*B-4-NBQ2Z,5XK+1K4* +?Z6*2T5C?+8>/X3NAL*6N0*иӲ0U@8=5F5Ż+%% +d +1384 47[1 0 0 1 0 0]sl 8 false 0 517 di +/sl 65048 string uc +*+*2LYJ7-5H-/4*,+X/3FؿO7-.N3EM޾;-E+**J+* ++4A*D,1,*7K*++>:N:,JT:0K*UZ6+YZ*3Z: +***,/*J*RHBJNWL/V,*CY*W97=FLK-2/-+1FJHǽ.BI4H߾ +=<*LE:QI+L3/V7+VFPV8Y.X2?Pޯ9+:L +:*ݽYL6XK4C=.0C:0ӽ3***AJ̹ε8-.-+6I*1+OHS*- +?QQ90*RBV>**G*,*:*66:2,E**K>8:8IEGB-B* +TNL98*,*T,>+>*632TQ,*E31Q+.3*ZݰB篷 +;**8*2?,,B2FHH6X.,OGN3EM޾?-E+**,1EK +<*1*NNKTQY*TTQӿ*Q*ﳴ92,-D2 +R.B,->TT0XC3*K?4:J0N޿6S*1YEGI +GEEGFEٶ/*<,չ38N+<ξ5=?+H.@ +G-?7=TTX/.-T62Y-*XF71F*C/*8->2@H2*GY*-2Y./L +.:H,4?I@-09=*O,N4M+2+7.>,3L+FQW>-I +-*,,1T?X/27829,8FQJ*S=ZJݶ+R+6GA5YWQ* +-2ڰ,;W3RJLGB-9CXCFCFT+=3P +*:/?FE33=80CKFB-,8H+;,.K1**-*:LHSM3*Ÿ +*L*348:/?FE33D-,8H+-K1**-*:LH +SM3*Ÿ*LM*D=-*3XRGǾ̶1SLNN++ڽű޾*,-*C +*+*2LG>.FMG1=X,CGQ-*<:GǾK;:5QJ*3 +BLʾB*J773?4J+*27**O+:41XJK+ERM=P,XK@4*-*PJ0P-1< +J48.Tζ12:XJ:++ڲU2+/6RCJ6T*:MU0*VA*R=G9Z +J,,R+6GYEE*Z*:LC6¼+K2K+*0B1*8N+SF+CX45-9B +JJ,*8B*.FD.5GGWAU4A*J+Tɯ:ݽQ-6RNJ6T7*ZQG0J,XB +,B*/1,8JL,*8B*.FDڶY*ZYڱ+*6*B:HBP***ڱ5/ +:MO߷/,IMIK+C,.0 +ǹX1Nξ-ZBWX<2+UIED/.*;+53,7G<3=C +Y*Q0*6TJ6T=***8B*Q5۵@.J+C7W0<>*+C17ZZ*޶4J< +T<2+:P0,,+VC30*W+߾53,7G<3LCY*>+J4ɳ15R +@C-0?U:0ӽ3***@JT4++EC>:6:J**22̱=X1,2B.L*/*H +*-LN*23=6*8B3:N/,*.*TƵ5O/;ϳԾ+4K +,**/4XJ6GB5VFP*:*K:8I/:3>3**,O<:RKU+߿, +OV-5*X;G<3,9Y4M*Tƴ5KDN8W/6RUJ6T=***XW2,,1 +2IZ452--6*1+28JS*KHMJ.VDEJ-WQ<.EOFѾF@5QT@*B:FBP***,IJ:/ARJ̹ε35L-RIS4 +2>+SAIHWH:3*--6*8B3: +N2IM,*-*23,O*Q:N/Y6++FRB-,/*-<=M* +ZKй.438L5C*-:2Y9*8<-.FFN+@4JNG+ED-/2 +-J**X1G9>3F=M/:VKöE?G/*6RHJ6T*:ML+39:*.:+R +*+AV0**8>J6++,G:*2:8G/F..7F4-AH/RF@YN+CE0K1* +6++FRB-,/*D**Q>/81گ>4;ò3ZJ+R+6GY +EE-**14:0*X+8J-Q4K0׶.15T0N:*-72Y9*K* +ݽ-*:2Z,:*+޿8ڹI.@0M=6Q,XIGOFH*0NG:0ӽH*ӽ- +*HC*ZJ,,R+6GYEE*+*-ȶ;2Y9*+*6*B:>BD**5*޿. +1F5B*1,>**2JX5JM+T8*RT+0WPR*/T8-I?L +8F>1GGWAUS+*HC*ZJ?W,R*GB-3ܺ8=A:MO߷*49.F<. +**7,I,NC+TBIDڼ64J1-6FAM>*-W@/U35@*+ +*-3=2.**T*+G4F,9J;3N=*XLQ>PFJ*36:BJұD/:1+ +5G*DQ;NW+ND8O0+J7N0ܽ6**6*BABP***,2SVϾ6GAİ.Y +3V1**-:I-/N1.6*.2J޳8C8JVEH:PG+JQJ3HD**/*,:7 +EL87JLR4;5TA66.Q+Dz*5:Q.9ǽFZ?Z.޾. +E+**4.-,Iξ6GPP+WI-Gմ-,/õRJ*1C+K**::FQ:8>I/:>3*5- ++.2M+08+:?O=:-+<**R*ܲ³2:JI,MZ1:Ȼ1R +YN*>-00N3YA1V0X**V*-<2.**T*>:,/õ +QDZ-:1+2,*S*JJ.*:R<++,6?FX4J78>:V1.2-+*;++ҽXQ +M.++H+J0帾1,*=7J<2/L*W߻*޹+0O +:0ӽ3****QS*KX/48;>A:10B*9,:F*<2*S7״YP +0+NV**+2>*2P-+J*;3?:G-RC*C=8BK=G>7M*J,/10ո**:-: +**4JA*=+4=ѹC1-ٵ>6JԽ4S*8J+BDI2*002PVQV8. +*RGJG.ZZ8N3C5Ư*/0J+8O;-K.޾T.E+**4F +=J+CPV2I8M3XNS*K*<θGDYAS齺K??=J +=*D1M+V+7.>,O6鼿+4?XM-Z/3F+K?HU +0<;*IοL* +IBKNBJ=2,AG>9Z3F+***T?Ӳ+F+N-A<ڰ* +/0J+8O;-K.޾F.-*CX@M*+51:ڷ/L2<:1Ͼ¸*I6+@4J +N6?A* +d +1384 47[1 0 0 1 0 0]sl 8 false 0 564 di +/sl 65048 string uc +0X**8..*ZA*6RJ6T*JM.*-<*,;J5ȯ1ѿGG4J +޶6?AB*,R-:*<>-H9/ZJ7G,R+6G14.2T9+I6*۸++F2 +M3+,B;B*J7+UAD-/>+6/;*-T<2Y9*S۸,**J> ++.FʾQ*6J6T*:MU0**޾V.-*C*=-*0O:0ӽH* +ӽ-*HC*ZJB,R+6GYEE*+*-C=2Y-*6Z8*>.:/R/SX6* +-+S4**E,USAJM+6/2L@:J85?W**6QJ6T7*ZQG0-KTA:J +*?I2N,33**E,SA:P>.JXL*JEMɿ9/JһJX ++-H6:*B,.L*Nǿ*@J*?U0+J5JF,N*+,R*37>,:Ӻ92 +P5˲,9L;M=-*6*L1+-T@2.**E3:*CX64C2KJ +2:**..3Y-Q+.6O,;*,J*K9R+ٶ;M*±O.N0*JA8*U*+ڵ08 +:B2J<01/PD1AV*J*:PG05BڵBP***F*GE>:M?@I, +ICQ9I.J2Y-Q+,O,;*J..B4ZT*ξZ3G:**G+S+AJ3.BJS +19UA7YOɹTZ+J+*6.FD5=-Q+,ZJ,R***,+9M> +:MGEQMSYJR96Z+I.JX-Q+.6O,;*E*7Ͼ5*:75F +о595QV0=7Oɹ@*Z*J*<,;-A.޾/E+**+69Ͼ6G +JT1G671:31,B*9,:ɺ+*1I3:ԾH3IHEJ-ݻM>,*Q/̺B +JS*2TʾؽX4=769/**-*L=/@+O++U*0W:0ӽ3***A8J0 +,-:F<*1*NNKTQY*TTQӿ*Q* +92X**-V+AHZ6>JGHSETR2;52I2@H2*GY*-2Y./L.:H,4 +?I@-09=*O,N4AD**ۿK,޾59B0R4JW+T1:+ӹFB*NM<޿5J +3ڱ5۸>.F-+O/*BֱB*J@=HJ*F/.X+>1A>P ++@4JN6?**-*L=/D+ŸF-H4/ZJX,R+6GA5;1O*RNP2,4,G +޹>FZ+*0*XQ4,8޷0>4޾ִ/-*CXI+N9Y*+*U,F˾ +G*/+B:UB*J7/Z**H*3R7J*Z

2Y9*+**J+,BMB*J77*R**5*8V +T*0NS:0ӽH*ӽ-*HC*ZJJ,R+6GYEE*+*-44?2Y-*6Z8*>.+ +F:OJAXJ:LJ41=B23+-U4*0+.*O+R:+,,F-ݵ>JQDJ +,MWSE*4T-*;N:WK9*-+F:4շUL69 +λTE24SF*/684I5,:V,F-=3M +YFϿ4R+8RMJ=Z;+CN=A>5X޸DJU-1@:;SG-ӸJ*OY۸;,: +-ϻ,;L0TN./SHYC:FJU3@/7V/*Q0*62VJ6T=* +**T+.-*D5>:MOƹS@*4*,P5⺿*;ѳ3G+>**TŶ+K9T0J73,CN,5KSEF5;PQ02Ƕ޿/NNTQ*X86W/2P+X:;GFDH7V;0*Q0*62WJ6T=***T+./ +*5>:MGE,OGD19*H*DE5-5S:ƾٳZAI>: +ᰯ0JB14682B*?4+SU4-<=M踽SG3;TX;,WFM81.2 +?-O/117Z+*4*;5R=B;G.**B4T.3X.5F0MMHY +BA=6L2*1:O6=B5*,0PL.?QC8ZC9IHQZ?<**W-PZJS;VMNH5ᲯK.= +ED/QXK6߽;ĶԷ73*IY@>2ٵ=1ҰͲV97@F: +*@40RY5705N:KK;.1Y>DTYYB3FU-B0Z;.̽ +V/T*ܳZJ/-880-2Eͯ/NNTMM8?2?9FB,=2J +.MQ?GMù<*ARJ̹>/T=-,WLW41JL4/Zټ1PL8M,*ٳ +K-RO>>/>*N6Z7̾?ICKF,OMRP@6.B/* +@J*W6@A*3K*105XZ6OWY6:*;0J*N:P10;/*.; +.Jɸ,7ŶJ8;V.+KY2;AF3J/*=Z2/-8U?B,@< +4I5;GP +FUPJ+Rڵ>,7.N4:LX+I*0*ȳQ/73 +RU22*B,2:4J2>>³2:JJ;D28Q8L2:M5L/:B +R<=,ڷHIռR<86L3RZW*F +UUQJ9++:9CGMغB׾YR+*=-*0S:0ӽ3****S*/4 +83Ҷ*9301UGT?Q4BP1+YDZ/? +4//S-/.++XEHX*Կ-3*3T9.*9782FG=X:7 +K4*XN:F:*,-DLݸMF:HúC>F5L/.T19GKG5F +5I0NNT2XX*WF4-:I,HM2+<۳F4EU*6G- +X.N;;G+/*82N/,°5R02+W4K,**J?*>R:7J+C+BF +/AH9VN4,J*>93014JIRFS4FBI12+,2CV=ִYP +50+NV79.FD/Z;1ɳL97ZJS*RF=*LGB +A2,:*P;MFU-=Z*@V߱X2?4L3IU.1:/3ECZ0- +A<;S77UӸUJBJ>N*B:,NOҹ>*8=/*4HAV*8Q+X9R.A޻000=78 +.R/ANA2JCEO.+2Tܶ=0:Q8˾G:T0?͹9.1+IٴP>@:1R</0ο*,*H4,GM +4308*9H-JHS@YO0麯NW+=JI32׻J +GE4:L1>ZLV3RAUV6߿*6EM@+;꼼L.ֶS +ս5ݱص5X:KK:F3Uٶ>8-1XKE5:,WGLMLCK* +3.5P5:HX +R*MQ:.FƻF=UA3:S69/2AYD-LIM0R6CJ26F*JF, +;@FPGKۻK/FM+3/7D. +5K*PZ6-/,R+6䯾EQ65M-A<;S-?3VF18,I+* +FEFQ4°XPGGQ0.:AIG>9;9C=S.N,X7NVA, +XR*0NH:0ӽH*޻GO+J*5/:Ƴ +L81:F7V⺼NFC4*Q0*6RAJ6T*:MOHȳ-46>2T +,7VMP97.RCKF/26EI5TW4@Mճ;**6*B:IB*J +2**+<0K1**Q0*6RQJ6T*:MU0% +d +1384 47[1 0 0 1 0 0]sl 8 false 0 611 di +/sl 65048 string uc +*=-*0NZ:0ӽH**0**޾L0-*C*=-*0.:0ӽH*ӽ +-*HC*ZJ۹-R*+@+-3XF*T=A:MBXY-0D*Q0*6ƶJ6T7*ZQG0: +ַF̳ݶ+CXDտ-**޾A1E+**4JF/:FAJ+CXDտ-**޾ +A1E+**4J::I/:+J+CXE9,MQ,*.J+;B@3<Լ6+˽P+- +FACW=-*0ڷ:0ӽ3****,+S*K/4>ᲯNJ3J˾G/ +8Z?V?<1Z* +F63R+:;O,*J*5J.A6JV+O=>*+S8K,**+-Qӽ?34> +麯NY4A.L,U*GNJ6VJ1M,YS<2*3QϿENOS2;V* +5B,?5ܽ+U*62J6T*:M=S-L<ٺG;AVWL+*HC*ZJ-R ++6GNC92BK3/**+8K1*ڴZ8>B<<.P1,82׵ǾI@/2+37M̽+0L +,-ⷳ5@JIC*MAS5ܽ+U**6*B׿BP*1D4*4M0Xξ6GN3B +,1.PY7:+K4*;IM*ֺ-16JT6.:3Y*C*=-*0:0ӽ2*8 +-,2<ۿ5?:M=S*F+>+3H3J2**J33+,J*K9LAGO=-*0> +:0ӽ1*T-4Q+N5AVJP.Q+,-R,2+*+BP1Wʸ-N> +V?<1Z*F63R+:;O,*J*5J.A6JV+O=>*+7K+*O=3-8F +:Y6GNY>I5M,DRK2@JMY+QZJPRǾB*GN8.N:*< +3M-J:L+./AZ.KU:AA,ʷK+B:B*JP1NLX +,**޾Թ1-*CXEǰPI:ZF3C<4*+*-8H2Y9*N۲=P-K* +Q0*62J6T*:MU0**޾1-*C*=-*0:0ӽH*ӽ- +*HC*ZJ-R+6GYEE*+*-DH2Y9*+*6*B:B*J77 +**+Q9K+*@?41V4Z÷*207Ϳ08*+*-DH2,*B*J5*P*O*,,*G<*2C +/-G*J*/A,+*HC*ZJ-R**3/**TJP.Q+:6-R,R=+ +A+S* +**L*Z*>.=IT*9+-*,R:JAGO=-*0:0ӽ0*TH**, +N>=*I*1-*IB.,*GZ,JTO=>*+I9K ++*>4D**F*CXEEY2.ZIQ+N¯AB5 +G2,ԹROHYOA5Jݰ0**+I9K+*A:+Iо5B:M=SNRZ>NJ6VJ1M,YS +<2*3QϿENOS2;V*5B,?5ܽ+U*6J6T*:M=S-L +<ٺG;AVWL+*HC*ZJ-R+6GNC92BK3/**+I9K1*ڴ+D6AտI-7F*=-*0:0 +ӽ4*208Q6GNS1J;=+O*,:2ʻ.3VRUIľI=+޳8 +@R+*-G2Y/*NQ@=JPԴ19;+O*,M@B+ƾ*HX/AQ +08B*X?OY*C*=-*0۹:0ӽ3*K*ڴ+3 +H3J2**J33+,J*K9LAGO=-*0۹:0ӽ1*T˾:*CXE>?PZVL1* +8TU/A,+*HC*ZJ-RW*/N*<,JPRǾB*GN8.N:*< +3M-J:L+./AZ.KU:AA,ʷ++BB*JP1NL +X,**޾Ա1-*CXEǰPI:ZF3C<4*+*-G2Y9*N۲=P +-K*Q0*6ƸJ6T*:MU0**޾Y1-*C*=-*0>۸:0ӽH* +-*HC*ZJ-R+6GYEE*+*-HG2Y9*+*6*B:B*J +77**+K8K+*@?41F3޹J޿QZJZC56-D:0ӽ/*Z*TAO*9ȯ,07Cߺ+9̵׷+, +CZNN725FJK.UA6*BB@*J޷9.:*S/.D6A5Y:GN +/⺿;;2P+?,/:3O4*+*-G2Y/*·->Jɶ++ڴ+ +3Y-LZ*нG<:I,8:35N67FZ*9-I-2ž?RMU392 +U1NSANL*G/:/G;5PP7.9QF55C1999ΰR05R޾3:A4 +*޾ع1U+*/.ιK+ڴ+S***./+,:-,R99¾*58*N;,4+Z68BDC2J< +?3;,1װI=Ƕ,Q+N-AF3S-*Z0,:4,?QJX*@Z/ +=V*N6*B:BL*,VF*CXE<>I/9J3J*I0J06.: +G:.2**,8O9J/TA1,R:Q:42EH-ٶ;E:/,0X7= +0<=+-+-/Z1A4MͶ*@Zܽ/N-%% +d +1384 47[1 0 0 1 0 0]sl 8 false 0 705 di +/sl 65048 string uc +*=-*0:0ӽ1*T*׹/.<*2*Q+,-R,2+*+BP1/<@I, +ICQJ48Z+1GC51R+*?2::*ıHME<;@,BX7=0,=̷*Z +++ܽ-6*B:BD*XU-N-A:JP.Q+F6-+ZB*.P +=O.9B/.+++*B0,416JT12+-YP++0:0ӽH*ӽ=*.*? +2FƾKL1H1FH>R7O+I9K1*?*A+*X<,1=B:MUPX+3*2*ֿ54U1I.FN;I+I9K ++*,J*F+0ֿ-,-?*A+*X2+,*J6++/G.1A+<3*0 +:0ӽ4*20+ZZ?-,?*A+*X7MA*,*<2G.N8,8JD*-.FG*>8K/F*0>ܺ:0ӽ0*THEҶ+ +518K7/F;->>+1X?CQFE8+6RJ6T5*JR+*3.ӽ +-*8*ڸ,,>:VAZJ-RW*-*=2:MU0**޾1*5* +3.ӽṹK+BB*J77**+99K1**Q0*6RJ6T +*:MU0**޾޽1-*9**Q0*6J6T*:ż*0**޾ڹ1 +I*O-*=-*/»:0ӽA=9**6*>BIʺ***ξI1+* ++,F2ݽT1*Q0*4RJ6TSYPH**HC*RJ߿-RQC***J+7K +I-*=-*/>:0ӽA=9**6*B:߿R13***+/Q80ݽ*R1* +Q0*22Jܽ*A9**6*6뿺AA:**6*6:?..***Z15WJ +2//****99=J2-3*% +d +1384 47[1 0 0 1 0 0]sl 8 false 0 752 di +/sl 58128 string uc +*=-*.G:ݽ*1*Q0*02JܽS52*Q0*0RJܽS52*Q0*02JܽS5 +2*Q0*0JܽS52*Q0*0ƺJܽS52*Q0*0RJ9LA:J4+Q2QXL+JF? +49**99I:*,:M*MMT8>:< +Z*º6A.JS5***Zܽ1ܽ@+B*U40N1:FS>3R8G +<ƻ4EG:J*.ڷXADLTƾXEW.+LMTB˼N*X +-Aݲ+*Q0*0RJ,8FB5*FͶH3G>7;λպJ-G**72*WU +߿,2;L+,Y-/3*DE:*28*Tӱ3*H@+Y/Z18͵ +/L*8GA@ѺH<*<>+UUKV-Q8޲ȯJ߾FHD*I<*;VUF///*AJVD +.*>A޿U?*L*/96+66+ʹ+X6-BݲA.-*,8B4.8JF +6=.*BI2U/M*L8Uն5,<2/@7QJ0޿/CX/@****8N.I@* +*:0C4:8J5;.28X/=* +21T=<2/1V,U9EYGQ0*0RJ.Q+*X,H4:۸+0>I*F +-VX:RH22JJS?*ƸF*@QN:4VD8M*6о2+L=-*-һ:ݴ.3< +6ZJ@**HC*BJ-=IBYIVPI?6*=-*-۹:ݴ2D3,G+* +*Z޽1POQ-***19A++***8A++***8A++* +*+80ݽ*R1*Q0*6RJM-I¸***޾1:I*O-*=-*/:0 +A=9**6*>:BNIʺ***ξص1:+*+,G2NݽT1*Q +0*42J6:BNIʺ***ξܽ1:+*+,49H2NݽT1*Q0*4 +ƺJ6

-
 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{tablor}[14/05/2008 v2.05 la machine à créer des tableaux de signes et variations]
+\ProvidesPackage{tablor}[16/05/2008 v2.06 la machine à créer des tableaux de signes et variations]
 
 % \copyleft Connan le Barbare \copyright
 % avec l'efficace participation de Jean-Michel Boucart
 
 
+
+%%%%%
+%
+% enteteMP.cfg : configuration de l'entête MetaPOST
+% à modifier si besoin
+%
+%%%%%
+
+\RequirePackage{filecontents}
+
+
+
+\begin{filecontents*}{enteteMP.cfg}
+input tableauVariation;
+verbatimtex
+%&latex
+\documentclass{article}
+\usepackage[upright]{fourier} % ou mathpazo, lmodern, etc. ou rien !
+\usepackage{amsmath}
+\renewcommand\mbox[1]{ #1 } % pour les mbox intempestifs de xcas
+\renewcommand\cdot{ } % idem pour les cdot
+\begin{document}
+etex 
+\end{filecontents*}
+
+
+
+%%%%%
+%
+% FIN de enteteMP.cfg
+%
+%%%%%%
+
+
+
+
+
+
+
+
+
+
+
+
 %% Crée 16 environnements :
 %% tableau de signes de 2 facteurs affines
 % \begin{TSa}
@@ -141,7 +183,7 @@
 %
 %
 %%%
-% et leurs pendants étoilés qui permet l'affichage intermédiaire du 
+% et leurs pendants étoilés qui permettent l'affichage intermédiaire du 
 % fichier metapost pour le modifier
 %
 %
@@ -156,20 +198,30 @@
 %% ne l'avez pas de base 
 
 
-\RequirePackage{ifthen}
+\RequirePackage{ifthen}
 \RequirePackage{fancyvrb}
 \RequirePackage{ifpdf}
 
 
+
+%% Initialisation du choix d'OS
+\newboolean{windows}\setboolean{windows}{false}
+
+
+
+%% Définit des commandes disque selon l'OS utilisé
+\ifthenelse{\boolean{windows}}%
+    {\newcommand{\rem}{DEL } \newcommand{\cat}{TYPE }
+      \newcommand{\cp}{COPY }}%
+    {\newcommand{\rem}{rm }\newcommand{\cat}{cat }
+      \newcommand{\cp}{cp }}
+
+
 % option xcas présent 
 
 
 \newboolean{xcas}\setboolean{xcas}{false}
-\DeclareOption{xcas}{\setboolean{xcas}{true}}
-
-%% Initialisation du choix d'OS
-\newboolean{windows}\setboolean{windows}{false}
-
+\DeclareOption{xcas}{\setboolean{xcas}{true}}
 
 
 %% on configure  tablor  dans un fichier extérieur pour la plateforme
@@ -182,7 +234,7 @@
 %% pour ceux compilant via pdflatex
 
 \ifpdf
-\DeclareGraphicsRule{*}{mps}{*}{}
+\DeclareGraphicsRule{*}{mps}{*}{}
 \fi
 
 %% pour nettoyer les fichiers auxiliaires
@@ -192,19 +244,12 @@
 
 
 
-%% En-tête pour le fichier metapost contenant les codes 
-%% de tous les tableaux produits
+%% Pour clore les fichiers metapost 
 
- \begin{VerbatimOut}[commandchars=?WW]{tete.mp}
-  input tableauVariation;
-  verbatimtex
-%&latex
-     \documentclass{article}
-     \?fonte
-     \usepackage{amsmath}
-     \newcommand{\Mathbold}[1]{\mbox{\boldmath$#1$\unboldmath}}
-     \begin{document}
-     etex 
+
+\begin{VerbatimOut}{queue.mp}
+  
+end
 
   \end{VerbatimOut}
 
@@ -215,14 +260,6 @@
 %% Clôt le fichier metapost contenant le récapitulatif de tous les tableaux
 
 
-%% Définit des commandes disque selon l'OS utilisé
-\ifthenelse{\boolean{windows}}%
-    {\newcommand{\rem}{DEL } \newcommand{\cat}{TYPE }
-      \newcommand{\cp}{COPY }}%
-    {\newcommand{\rem}{rm }\newcommand{\cat}{cat }
-      \newcommand{\cp}{cp }}
-
-
 
 \newcommand{\nettoyer}[1][\jobname]%
 {\immediate\write18{\rem #1.Tab.log}
@@ -258,7 +295,7 @@
 {\IfFileExists{\Tableaux.Tab.mp}%      Si Tableaux.mp est présent...
         {\immediate\write18{\rem \Tableaux.Tab.mp}}%  le détruire
         {}%   
- \immediate\write18{\cp -f tete.mp \Tableaux.Tab.mp}% Reconstituer l'entête de Tableaux.mp
+ \immediate\write18{\cp -f enteteMP.cfg \Tableaux.Tab.mp}% Reconstituer l'entête de Tableaux.mp
 } 
 {\IfFileExists{\Tableaux.Tab.mp}%      Sans l'option XCas, si
                                 %      Tableaux.mp existe
@@ -270,11 +307,11 @@
 
 
 
-%% commande pour lancer giac selon l'OS
+%% commande pour lancer giac selon l'OS
 
 \makeatletter
 \newcommand{\executGiacmp}[1]{%
-\ifthenelse{\boolean{windows}}%
+\ifthenelse{\boolean{windows}}%
 {\immediate\write18{giac #1 }}%
 {\immediate\write18{giac  <#1 }}}
 \makeatother
@@ -284,7 +321,7 @@
 
 %%%
 %
-%%% LES SCRIPTS GIAC/XCAS
+%%% LES SCRIPTS GIAC/XCAS
 %
 %%%
 
@@ -296,7 +333,7 @@
 %%
 
 
-\begin{VerbatimOut}[commandchars=?WW]{XcasTV.cxx}
+\begin{VerbatimOut}{XcasTV.cxx}
 TV(L,F,nom,nomv,f,ftt,nmr):={
 nl:=size(L);
 f:=unapply(f,x);
@@ -306,8 +343,8 @@ S:=resoudre(fp(x),x);
   si size(S)>0 alors   pour j de 0 jusque size(S)-1 faire 
                              kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[nl-1]));
                           if(kk==1){Z:=append(Z,simplifier(S[j]))};
-                          fpour
-  fsi;
+                          fpour
+  fsi;
 
 Z:=sort(Z); 
 nz:=size(Z);
@@ -319,16 +356,16 @@ pour u de 1 jusque nz-2 faire
 fpour;
 nz:=size(Z);
 l0:=" newLigneVariables(btex $"+nomv+"$ etex);";lp:=" "; lf:=" ";lsp:=" ";
-pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex);
+pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex);
 ";fpour; 
 
        k0:= evalf(limite(f(x),x=Z[0],1))> evalf(limite(f(x),x=Z[1],-1));
        kz:=evalf(limite(f(x),x=Z[nz-1],-1))> evalf(limite(f(x),x=Z[nz-2],1));
                           
-lsi:="
-newLigneSignes(btex $\\hbox{ Signe de }\\atop{\\displaystyle "+nom+"'("+nomv+")}$ etex);"+
+lsi:="
+newLigneSignes(btex $\\hbox{ Signe de }\\atop{\\displaystyle "+nom+"'("+nomv+")}$ etex);"+
      if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){
-                                                    if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+
+                                                    if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+
                                                     if(sign(fp(Z[0]+10^(-5)))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+
                                                          if(sign(fp((Z[0]+10^(-5))))==1){"plus;"}else{"moins;"} }}
  
@@ -337,13 +374,13 @@ if(nz>2){ for(r:=1; r<=nz-2;r++){      ksp:=evalf(fp(Z[r]+0.01))>0;
                                                 if(ksp==1){"plus;"}else{"moins;"}
                                                   }; }
 
-lsf:=if(member(Z[nz-1],F)==0){""}else{"nomDefBarre;
+lsf:=if(member(Z[nz-1],F)==0){""}else{"nomDefBarre;
 "}
 lm0:=limite(f(x),x=Z[0],1)==-infinity;
      li:="
-newLigneVariations(btex $\\hbox{\\bf Variations de }\\atop{\\displaystyle \\Mathbold{"+nom+"}}$ etex);"+
+newLigneVariations(btex $\\hbox{  Variations de }\\atop{\\displaystyle  {"+nom+"}}$ etex);"+
            if(member(Z[0],F)==0){"valPos(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"}
-             else{"nonDefBarre;limDroite(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"}+                               
+             else{"nonDefBarre;limDroite(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"}+                               
            if(k0==1){"1"}else{"0"}+
                          ");";
             
@@ -359,93 +396,35 @@ newLigneVariations(btex $\\hbox{\infinity;
                            lf:=if(member(Z[nz-1],F)==0){"valPos(btex $"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$ etex,"}else{"nonDefBarre;limGauche(btex $"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$ etex,"}+                               
-           if(kz==1){"1);"}else{"0);
+           if(kz==1){"1);"}else{"0);
 "};    
     
 
-intro:="input tableauVariation;
-           verbatimtex
-%&latex
- \\documentclass{article}
- \\?fonte
- \\usepackage{amsmath}
- \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}}
- \\begin{document}
- etex;
-
-"
-  
-
-MetaL:=if(ftt==2){if(nz>2){intro+"beginTableau("+nmr+")"+
-        l0+lsi+lsp+lsf+"
-endTableau;
-end
-";}else{
-intro+"beginTableau("+nmr+")"+
-        l0+
-lsi+lsf+"
-endTableau;
-end";
-}
-}else{ if(ftt==0){if(nz>2){intro+"beginTableau("+nmr+")"+
-        l0+
-li+
-lp+
-lf
-+"
-endTableau;
-end";}else{intro+"beginTableau("+nmr+")"+
-        l0+
-li+
-lf
-+"
-endTableau;
-end";}}else{
-if(nz>2){intro+"beginTableau("+nmr+")"+
-        l0+
-lsi+lsp+lsf+
-li+
-lp+
-lf
-+"
-endTableau;
-end";}else{intro+"beginTableau("+nmr+")"+
-        l0+
-lsi+lsf+
-li+
-lf
-+"
-endTableau;
-end";}
-}}
-
-
-
 MetaLfc:=if(ftt==2){if(nz>2){"
 
 beginTableau("+nmr+")"+
         l0+lsi+lsp+lsf+"
-endTableau;
+endTableau;
 
 ";}else{
 intro+"beginTableau("+nmr+")"+
         l0+
 lsi+lsf+"
-endTableau;
+endTableau;
 
 ";
 }
 }else{ if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+
         l0+
 li+
-lp+
+lp+
 lf
 +"
-endTableau;
+endTableau;
 
-";}else{"beginTableau("+nmr+")"+
+";}else{"beginTableau("+nmr+")"+
         l0+
 li+
 lf
@@ -457,29 +436,28 @@ if(nz>2){"beginTableau("+nmr+")"+
         l0+
 lsi+lsp+lsf+
 li+
-lp+
+lp+
 lf
 +"
 endTableau;
 
-";}else{"beginTableau("+nmr+")"+
+";}else{"beginTableau("+nmr+")"+
         l0+
 lsi+lsf+
 li+
 lf
 +"
-endTableau;
+endTableau;
 
 ";}
 }}
 
 
 sortie:=fopen("XCasmpfc.mp");
-fprint(sortie,Unquoted,MetaLfc);
+fprint(sortie,Unquoted,MetaLfc);
 fclose(sortie);
 
 
-return(MetaL);
  }:;
 
 \end{VerbatimOut}
@@ -491,12 +469,12 @@ return(MetaL);
 %% par exemple, pour sqrt(x^2-1) : TVZ([-infinity,100],[],[[-1,1]],"f","x",sqrt(x^2-1),1,1)
 %%
 
-\begin{VerbatimOut}[commandchars=?WW]{XcasTVZ.cxx}
+\begin{VerbatimOut}{XcasTVZ.cxx}
 
 
 TVZ(L,F,FF,nom,nomv,f,ftt,nmr):={
 nl:=size(L);
-nf:=size(FF);
+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]]};
@@ -505,11 +483,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:=[Ff];
+ FF:=[Ff];
  IMIN:=[IMIN];
  IMAX:=[IMAX];
  f:=unapply(f,x);
-fp:=fonction_derivee(f);
+fp:=fonction_derivee(f);
 Z:=concat(LL,F);
 
 for(k:=0;k<nf;k++){
@@ -520,29 +498,29 @@ S:=resoudre(fp(x),x);
   si size(S)>0 alors   pour j de 0 jusque size(S)-1 faire 
                          for(k:=0;k<nf;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:=(evalf(S[j])<evalf(Imin[k])) or (evalf(S[j])>evalf(Imax[k]));
                              Kk:=(kk) and kK;
                           if(Kk==1){Z:=append(Z,simplifier(S[j]))};
                           }
                         fpour
-  fsi;
+  fsi;
 
 Z:=sort(Z); 
 nz:=size(Z);
 
 
 
- si Z[0]==Z[1] alors Z:=augment(Z[0],Z[2..nz-1]);nz:=nz-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:=nz-1; 
      fsi;
 fpour;
-nz:=size(Z);
+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:=nz-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;
    }
   }
 }
@@ -550,12 +528,12 @@ nz:=size(Z);
 
 l0:=" newLigneVariables(btex $"+nomv+"$ etex);";lp:=" "; lf:=" ";lsp:=" ";
 pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex);
-";fpour; 
+";fpour; 
 
        k0:= evalf(limite(f(x),x=Z[0],1))> evalf(limite(f(x),x=Z[1],-1));
        kz:=evalf(limite(f(x),x=Z[nz-1],-1))> evalf(limite(f(x),x=Z[nz-2],1));
                           
-lsi:="
+lsi:="
 newLigneSignes(btex $\\hbox{ Signe de }\\atop{\\displaystyle "+nom+"'("+nomv+")}$ 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^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){
                                                     if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+
@@ -565,22 +543,22 @@ 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;"}else{
+                                               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;"}}else{
+                                                 if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+
                                                 if(ksp==1){"plus;"}else{"moins;"}
                                                   }}}}; 
 
 
 
-lsf:=if(member(Z[0],IMAX)!=0){"finNonDef;"}else{if(member(Z[nz-1],F)==0){""}else{"nomDefBarre;
+lsf:=if(member(Z[0],IMAX)!=0){"finNonDef;"}else{if(member(Z[nz-1],F)==0){""}else{"nomDefBarre;
 "}}
 
 
-lm0:=limite(f(x),x=Z[0],1)==-infinity;
+lm0:=limite(f(x),x=Z[0],1)==-infinity;
      li:="
-newLigneVariations(btex $\\hbox{\\bf Variations de }\\atop{\\displaystyle \\Mathbold{"+nom+"}}$ etex);"+
+newLigneVariations(btex $\\hbox{  Variations de }\\atop{\\displaystyle  {"+nom+"}}$ etex);"+
            if(member(Z[0],F)==0){"valPos(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"}
              else{"nonDefBarre;limDroite(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"}+                               
            if(k0==1){"1"}else{"0"}+
@@ -590,137 +568,79 @@ if(nz>2){
    for(r:=1; r<=nz-2;r++){ 
      krm:=evalf(limite(f(x),x=Z[r-1],1))< evalf(limite(f(x),x=Z[r],-1));
      krp:=evalf(limite(f(x),x=Z[r],1))> evalf(limite(f(x),x=Z[r+1],-1)) ;  
-     lmrm:=limite(f(x),x=Z[r],-1)==-infinity;lmrp:=limite(f(x),x=Z[r],1)==-infinity;
+     lmrm:=limite(f(x),x=Z[r],-1)==-infinity;lmrp:=limite(f(x),x=Z[r],1)==-infinity;
 
      lp:=lp+if(member(Z[r],IMIN)!=0){"limGauche(btex $"+if(lmrm==1){
              "-\\infty"}else{
                 latex(simplifier(limite(f(x),x=Z[r],-1)))}
          +"$ etex,"+if(krm==1){
              "1);"}else{"0);"}
-         +"debutNonDef;"
-       }//fsi Zr=Imin
+         +"debutNonDef;"
+       }//fsi Zr=Imin
       else{
         if (member(Z[r],IMAX)!=0) {"finNonDef;limDroite(btex $"+if(lmrp==1){
              "-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))}
-         +"$ etex,"+if(krp==1){
-             "1);"}else{"0);"}          
+         +"$ etex,"+if(krp==1){
+             "1);"}else{"0);"}          
        }
         else {
           if(member(Z[r],F)){
          "limGauche(btex $"+if(lmrm==1){
              "-\\infty"}else{
                 latex(simplifier(limite(f(x),x=Z[r],-1)))}
-         +"$ etex,"+if(krm==1){
+         +"$ etex,"+if(krm==1){
              "1);"}else{"0);"}
          +"nonDefBarre;limDroite(btex $"+if(lmrp==1){
              "-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))}
          +"$ etex,"+if(krp==1){
-             "1);"}else{"0);"}
+             "1);"}else{"0);"}
          }//fsi (member Zr F)
           else{"valPos(btex$"+latex(simplifier(f(Z[r])))+"$etex,"+
              if(sign(evalf(fp(Z[r]-0.01)))==sign(fp(Z[r]+0.01))){
                "0.5);"}else{
                     if(krp==1){
-                       "1);"}else{"0);"}//felse(krp)
-                    }//felse(valpos)
+                       "1);"}else{"0);"}//felse(krp)
+                    }//felse(valpos)
                }//felse(member Zr F)
                } //felse(Zr=Imax)
               }//felse(Zr=Imin)
            };//ffor 
-         }//fsi nz
+         }//fsi nz
 
-lnz:=limite(f(x),x=Z[nz-1],-1)==-infinity;
+lnz:=limite(f(x),x=Z[nz-1],-1)==-infinity;
                            lf:=if(member(Z[nz-1],F)==0){"valPos(btex $"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$ etex,"}else{"nonDefBarre;limGauche(btex $"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$ etex,"}+                               
-           if(kz==1){"1);"}else{"0);
+           if(kz==1){"1);"}else{"0);
 "};    
     
 
-intro:="input tableauVariation;
-           verbatimtex
-%&latex
- \\documentclass{article}
- \\?fonte
- \\usepackage{amsmath}
- \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}}
- \\begin{document}
- etex;
-
-"
-  
-
-MetaL:=if(ftt==2){if(nz>2){intro+"beginTableau("+nmr+")"+
-        l0+lsi+lsp+lsf+"
-endTableau;
-end
-";}else{
-intro+"beginTableau("+nmr+")"+
-        l0+
-lsi+lsf+"
-endTableau;
-end";
-}
-}else{ if(ftt==0){if(nz>2){intro+"beginTableau("+nmr+")"+
-        l0+
-li+
-lp+
-lf
-+"
-endTableau;
-end";}else{intro+"beginTableau("+nmr+")"+
-        l0+
-li+
-lf
-+"
-endTableau;
-end";}}else{
-if(nz>2){intro+"beginTableau("+nmr+")"+
-        l0+
-lsi+lsp+lsf+
-li+
-lp+
-lf
-+"
-endTableau;
-end";}else{intro+"beginTableau("+nmr+")"+
-        l0+
-lsi+lsf+
-li+
-lf
-+"
-endTableau;
-end";}
-}}
-
-
-
 MetaLfc:=if(ftt==2){if(nz>2){"
 
-beginTableau("+nmr+")"+
+beginTableau("+nmr+")"+
         l0+lsi+lsp+lsf+"
-endTableau;
+endTableau;
 
 ";}else{
-intro+"beginTableau("+nmr+")"+
+intro+"beginTableau("+nmr+")"+
         l0+
-lsi+lsf+"
-endTableau;
+lsi+lsf+"
+endTableau;
 
 ";
 }
-}else{ if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+
+}else{ if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+
         l0+
 li+
-lp+
+lp+
 lf
 +"
-endTableau;
+endTableau;
 
-";}else{"beginTableau("+nmr+")"+
+";}else{"beginTableau("+nmr+")"+
         l0+
 li+
-lf
+lf
 +"
-endTableau;
+endTableau;
 
 ";}}else{
 if(nz>2){"beginTableau("+nmr+")"+
@@ -730,7 +650,7 @@ li+
 lp+
 lf
 +"
-endTableau;
+endTableau;
 
 ";}else{"beginTableau("+nmr+")"+
         l0+
@@ -738,7 +658,7 @@ lsi+lsf+
 li+
 lf
 +"
-endTableau;
+endTableau;
 
 ";}
 }}
@@ -748,8 +668,6 @@ sortie:=fopen("XCasmpfc.mp");
 fprint(sortie,Unquoted,MetaLfc);
 fclose(sortie);
 
-
-return(MetaL);
  }
 :;
 
@@ -764,7 +682,7 @@ return(MetaL);
 
 
 
-\begin{VerbatimOut}[commandchars=?WW]{XcasTVapp.cxx}
+\begin{VerbatimOut}{XcasTVapp.cxx}
 
 
 
@@ -772,7 +690,7 @@ return(MetaL);
 
 
 
-TVapp(L,F,nom,nomv,f,ftt,nmr):={
+TVapp(L,F,nom,nomv,f,ftt,nmr):={
 
 
 nl:=size(L);
@@ -781,14 +699,14 @@ fp:=fonction_derivee(f);
 z0:=concat(L,F);z:=sort(z0);
 nz:=size(z);
 if(L==[-infinity,+infinity]){S:=seq(fsolve(fp(x),x,k/10,newton_solver),k=-100..100);}
-else{if(L[0]==-infinity){S:=seq(fsolve(fp(x),x,k/10,newton_solver),k=-100..L[1]);}
+else{if(L[0]==-infinity){S:=seq(fsolve(fp(x),x,k/10,newton_solver),k=-100..L[1]);}
 else{if(L[1]==+infinity){S:=seq(fsolve(fp(x),x,k/10,newton_solver),k=L[0]..100);}
 else{S:=seq(fsolve(fp(x),x,k/10,newton_solver),k=z[0]..z[nz-1])}}};
 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,simplifier(S[j]))}};
                           fpour;
-fsi;
+fsi;
 
 
 S:=NULL;
@@ -811,18 +729,18 @@ for(j:=1;j<nz;j++){
 Z:=[S]; 
 
 
-nz:=size(Z);
+nz:=size(Z);
 l0:=" newLigneVariables(btex $"+nomv+"$ etex);";lp:=" "; lf:=" ";lsp:=" ";
-pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex);
+pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex);
 ";fpour; 
 
        k0:= evalf(limite(f(x),x=Z[0],1))> evalf(limite(f(x),x=Z[1],-1));
        kz:=evalf(limite(f(x),x=Z[nz-1],-1))> evalf(limite(f(x),x=Z[nz-2],1));
                           
 lsi:="
-newLigneSignes(btex $\\hbox{ Signe de }\\atop{\\displaystyle "+nom+"'("+nomv+")}$ etex);"+
+newLigneSignes(btex $\\hbox{ Signe de }\\atop{\\displaystyle "+nom+"'("+nomv+")}$ etex);"+
      if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){
-                                                    if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+
+                                                    if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+
                                                     if(sign(fp(Z[0]+10^(-5)))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+
                                                          if(sign(fp((Z[0]+10^(-5))))==1){"plus;"}else{"moins;"} }}
  
@@ -835,10 +753,10 @@ lsf:=if(member(Z[nz-1],F)==0){""}else{"nomDefBarre;
 "}
 lm0:=limite(f(x),x=Z[0],1)==-infinity;
      li:="
-newLigneVariations(btex $\\hbox{\\bf Variations de }\\atop{\\displaystyle \\Mathbold{"+nom+"}}$ etex);"+
+newLigneVariations(btex $\\hbox{  Variations de }\\atop{\\displaystyle  {"+nom+"}}$ etex);"+
            if(member(Z[0],F)==0){"valPos(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"}
              else{"nonDefBarre;limDroite(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"}+                               
-           if(k0==1){"1"}else{"0"}+
+           if(k0==1){"1"}else{"0"}+
                          ");";
             
                      if(nz>2){ for(r:=1; r<=nz-2;r++){  krm:=evalf(limite(f(x),x=Z[r-1],1))< evalf(limite(f(x),x=Z[r],-1));
@@ -853,65 +771,10 @@ newLigneVariations(btex $\\hbox{\$"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$ etex,"}else{"nonDefBarre;limGauche(btex $"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$ etex,"}+                               
-           if(kz==1){"1);"}else{"0);
+           if(kz==1){"1);"}else{"0);
 "};    
     
 
-intro:="input tableauVariation;
-           verbatimtex
-%&latex
- \\documentclass{article}
-  \\?fonte
- \\usepackage{amsmath}
- \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}}
- \\begin{document}
- etex;
-
-"
-  
-
-MetaL:=if(ftt==2){if(nz>2){intro+"beginTableau("+nmr+")"+
-        l0+lsi+lsp+lsf+"
-endTableau;
-end
-";}else{
-intro+"beginTableau("+nmr+")"+
-        l0+
-lsi+lsf+"
-endTableau;
-end";
-}
-}else{ if(ftt==0){if(nz>2){intro+"beginTableau("+nmr+")"+
-        l0+
-li+
-lp+
-lf
-+"
-endTableau;
-end";}else{intro+"beginTableau("+nmr+")"+
-        l0+
-li+
-lf
-+"
-endTableau;
-end";}}else{
-if(nz>2){intro+"beginTableau("+nmr+")"+
-        l0+
-lsi+lsp+lsf+
-li+
-lp+
-lf
-+"
-endTableau;
-end";}else{intro+"beginTableau("+nmr+")"+
-        l0+
-lsi+lsf+
-li+
-lf
-+"
-endTableau;
-end";}
-}}
 
 
 
@@ -924,25 +787,25 @@ endTableau;
 ";}else{
 intro+"beginTableau("+nmr+")"+
         l0+
-lsi+lsf+"
+lsi+lsf+"
 endTableau;
 
 ";
 }
-}else{ if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+
+}else{ if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+
         l0+
 li+
 lp+
 lf
 +"
-endTableau;
+endTableau;
 
 ";}else{"beginTableau("+nmr+")"+
         l0+
 li+
 lf
 +"
-endTableau;
+endTableau;
 
 ";}}else{
 if(nz>2){"beginTableau("+nmr+")"+
@@ -960,7 +823,7 @@ lsi+lsf+
 li+
 lf
 +"
-endTableau;
+endTableau;
 
 ";}
 }}
@@ -971,7 +834,6 @@ fprint(sortie,Unquoted,MetaLfc);
 fclose(sortie);
 
 
-return(MetaL);
  }:;
 
 
@@ -997,11 +859,11 @@ return(MetaL);
 
 
 
-\begin{VerbatimOut}[commandchars=?WW]{XcasTVI.cxx}
+\begin{VerbatimOut}{XcasTVI.cxx}
 
 
-TVI(L,F,nom,nomv,f,ftt,ao,nmr):={
-nl:=size(L);
+TVI(L,F,nom,nomv,f,ftt,ao,nmr):={
+nl:=size(L);
 f:=unapply(f,x);
 fp:=fonction_derivee(f);
 Z:=concat(L,F);
@@ -1017,11 +879,11 @@ 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; 
+     si Z[u]==Z[u+1] alors Z:=augment(Z[0..u-1],Z[u+1..nz-1]);nz:=nz-1; 
      fsi;
 fpour;
 nz:=size(Z);
-l0:=" newLigneVariables(btex $"+nomv+"$ etex);";lp:=" "; lf:=" ";lsp:=" ";
+l0:=" newLigneVariables(btex $"+nomv+"$ etex);";lp:=" "; lf:=" ";lsp:=" ";
 
 
 
@@ -1041,22 +903,22 @@ l0:=l0+"val(btex $"+latex(Z[nz-1])+"$ 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 $"+latex(Z[kk])+"$ etex);"+"val(btex $\\alpha_"+aa+"$ etex);";aa:=aa+1;kk:=kk+1}}else{l0:=l0+"val(btex $"+latex(Z[kk])+"$ etex);";kk:=kk+1}}
+A:=A,aa;l0:=l0+"val(btex $"+latex(Z[kk])+"$ etex);"+"val(btex $\\alpha_"+aa+"$ etex);";aa:=aa+1;kk:=kk+1}}else{l0:=l0+"val(btex $"+latex(Z[kk])+"$ etex);";kk:=kk+1}}
 l0:=l0+"val(btex $"+latex(Z[nz-1])+"$ 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]-ao))==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(limite(f(x),x=Z[0],1))> evalf(limite(f(x),x=Z[1],-1));
        kz:=evalf(limite(f(x),x=Z[nz-1],-1))> evalf(limite(f(x),x=Z[nz-2],1));
                           
 lsi:="
-newLigneSignes(btex $\\hbox{ Signe de }\\atop{\\displaystyle "+nom+"'("+nomv+")}$ etex);"+
+newLigneSignes(btex $\\hbox{ Signe de }\\atop{\\displaystyle "+nom+"'("+nomv+")}$ etex);"+
      if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){
-                                                    if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+
+                                                    if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+
                                                     if(sign(fp((Z[0]+10^(-10))))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+
-                                                         if(sign(fp(10^(-10)+Z[0]))==1){"plus;"}else{"moins;"} }}+if(TestS==0){"valBarre(btex$  $ etex);"+ if(sign(fp(10^(-10)+Z[0]))==1){"plus;"}else{"moins;"}}else{" "}; 
+                                                         if(sign(fp(10^(-10)+Z[0]))==1){"plus;"}else{"moins;"} }}+if(TestS==0){"valBarre(btex$  $ etex);"+ if(sign(fp(10^(-10)+Z[0]))==1){"plus;"}else{"moins;"}}else{" "}; 
 
 
 
@@ -1065,30 +927,30 @@ newLigneSignes(btex $\\hbox{ Signe de }\\atop{\\di
 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;"}+
+                                 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 $  $ etex);"}else{" "}+if(TestS==0){if(ksp==1){"plus;"}else{"moins;"}}else{" "};
                                              }}
-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);
+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 $  $ etex);"+if(kspp==1){"plus;"}else{"moins;"};rr:=rr+1;}
+                                  if(kspp==1){"plus;"}else{"moins;"}+"valBarre(btex $  $ 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;}        
+                                  if(kspp==1){"plus;"}else{"moins;"};rr:=rr+1;}        
 }}     
   }; 
 
 
 
 lsf:=if(member(Z[nz-1],F)==0){""}else{"nomDefBarre;"}
-lm0:=limite(f(x),x=Z[0],1)==-infinity;
+lm0:=limite(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);
+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:="
-newLigneVariations(btex $\\hbox{\\bf Variations de }\\atop{\\displaystyle \\Mathbold{"+nom+"}}$ etex);
+newLigneVariations(btex $\\hbox{  Variations de }\\atop{\\displaystyle  {"+nom+"}}$ etex);
 "+  if(member(Z[0],F)==0){"valPos(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"}
              else{"nonDefBarre;limDroite(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"}+                               
-           if(k0==1){"1);"}else{"0);"}+if(TestS==0){"valPos(btex $ "+ao+" $ etex,0.5);"}else{" "}; 
+           if(k0==1){"1);"}else{"0);"}+if(TestS==0){"valPos(btex $ "+ao+" $ etex,0.5);"}else{" "}; 
                          
             
                      if(nz>2){if(nz==NL){for(r:=1; r<=nz-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); 
@@ -1096,7 +958,7 @@ newLigneVariations(btex $\\hbox{\$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}}
+                                    "limGauche(btex $"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}}
                                           else{"valPos(btex          $"+latex(simplifier(f(Z[r])))+"$
                                             etex,"+if(sign(evalf(fp(Z[r]-0.01)))==sign(fp(Z[r]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);"}}}+if(TestS==0){"valPos(btex
                                             $ "+ao+" $ etex,0.5);"
@@ -1104,12 +966,12 @@ newLigneVariations(btex $\\hbox{\rr+1],-1)) ;  
                          lmrm:=limite(f(x),x=Z[rr],-1)==-infinity;lmrp:=limite(f(x),x=Z[rr],1)==-infinity; TestL:=(abs(LL[r])==abs(LL[r+1]));
 if(TestS==0){if( TestL==1 ){lp:=lp}else{  lp:=lp+if(member(Z[rr],F)) {
                                     "limGauche(btex $"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}}
                                           else{"valPos(btex          $"+latex(simplifier(f(Z[rr])))+"$
-                                            etex,"+if(sign(evalf(fp(Z[rr]-0.01)))==sign(fp(Z[rr]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);"}}}+"valPos(btex
+                                            etex,"+if(sign(evalf(fp(Z[rr]-0.01)))==sign(fp(Z[rr]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);"}}}+"valPos(btex
                                             $ "+ao+" $ etex,0.5);
                                                                  ";rr:=rr+1;
 }// else testL==1
@@ -1117,9 +979,9 @@ if(TestS==0){if( TestL==1 ){lp:=lp}else{  lp:=lp+if(member(Z[rr],F)) {
 else{lp:=lp+if(member(Z[rr],F)){
                                     "limGauche(btex $"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}}
                                           else{"valPos(btex          $"+latex(simplifier(f(Z[rr])))+"$
-                                            etex,"+if(sign(evalf(fp(Z[rr]-0.01)))==sign(fp(Z[rr]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);
+                                            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
+}//else testS==0
 }//for nz<NL
 }// else nz<NL
 //if nz=NL
@@ -1128,77 +990,20 @@ else{lp:=lp+if(member(Z[rr],F)){
 
 lnz:=limite(f(x),x=Z[nz-1],-1)==-infinity;
                            lf:=if(member(Z[nz-1],F)==0){"valPos(btex $"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$ etex,"}else{"nonDefBarre;limGauche(btex $"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$ etex,"}+                               
-           if(kz==1){"1);"}else{"0);"};    
+           if(kz==1){"1);"}else{"0);"};    
     
 
 
-intro:="
-input tableauVariation;
-verbatimtex
-%&latex
- \\documentclass{article}
-  \\?fonte
- \\usepackage{amsmath}
- \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}}
- \\begin{document}
- etex;
-
-";
-  
-
-MetaL:= if(ftt==2){if(nz>2){intro+"beginTableau("+nmr+")"+
-        l0+lsi+lsp+lsf+"
-endTableau;
-end";}else{
-intro+"beginTableau("+nmr+")"+
-        l0+
-lsi+lsf+"
-endTableau;
-end";
-}
-}else{
-if(ftt==0){if(nz>2){intro+"beginTableau("+nmr+")"+
-        l0+
-li+
-lp+
-lf
-+"
-endTableau;
-end";}else{intro+"beginTableau("+nmr+")"+
-        l0+
-li+
-lf
-+"
-endTableau;
-end";}}else{
-if(nz>2){intro+"beginTableau("+nmr+")"+
-        l0+
-lsi+lsp+lsf+
-li+
-lp+
-lf
-+"
-endTableau;
-end";}else{intro+"beginTableau("+nmr+")"+
-        l0+
-lsi+lsf+
-li+
-lf
-+"
-endTableau;
-end";}
-}};
-
 
 MetaLfc:= if(ftt==2){if(nz>2){"beginTableau("+nmr+")"+
         l0+lsi+lsp+lsf+"
-endTableau;
+endTableau;
 
 ";}else{
 "beginTableau("+nmr+")"+
         l0+
 lsi+lsf+"
-endTableau;
+endTableau;
 
 ";
 }
@@ -1206,12 +1011,12 @@ endTableau;
 if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+
         l0+
 li+
-lp+
+lp+
 lf
 +"
 endTableau;
 
-";}else{"beginTableau("+nmr+")"+
+";}else{"beginTableau("+nmr+")"+
         l0+
 li+
 lf
@@ -1223,7 +1028,7 @@ if(nz>2){"beginTableau("+nmr+")"+
 lsi+lsp+lsf+
 li+
 lp+
-lf
+lf
 +"
 endTableau;
 
@@ -1245,7 +1050,6 @@ fprint(sortie,Unquoted,MetaLfc);
 fclose(sortie);
 
 
-return(MetaL);
  }:;
 
 
@@ -1266,10 +1070,10 @@ return(MetaL);
 
 
 
-\begin{VerbatimOut}[commandchars=?WW]{XcasTVIapp.cxx}
+\begin{VerbatimOut}{XcasTVIapp.cxx}
 
 
-TVIapp(L,F,nom,nomv,f,ftt,ao,nmr):={
+TVIapp(L,F,nom,nomv,f,ftt,ao,nmr):={
 
 
 nl:=size(L);
@@ -1279,13 +1083,13 @@ z0:=concat(L,F);z:=sort(z0);
 nz:=size(z);
 if(L==[-infinity,+infinity]){S:=seq(fsolve(fp(x),x,k/10,newton_solver),k=-100..100);}
 else{if(L[0]==-infinity){S:=seq(fsolve(fp(x),x,k/10,newton_solver),k=-100..L[1]);}
-else{if(L[1]==+infinity){S:=seq(fsolve(fp(x),x,k/10,newton_solver),k=L[0]..100);}
+else{if(L[1]==+infinity){S:=seq(fsolve(fp(x),x,k/10,newton_solver),k=L[0]..100);}
 else{S:=seq(fsolve(fp(x),x,k/10,newton_solver),k=z[0]..z[nz-1])}}};
 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]);
+                             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,simplifier(S[j]))}};
                           fpour;
-fsi;
+fsi;
 
 
 S:=NULL;
@@ -1311,7 +1115,7 @@ Z:=[S];
 
 
 nz:=size(Z);
-l0:=" newLigneVariables(btex $"+nomv+"$ etex);";lp:=" "; lf:=" ";lsp:=" ";
+l0:=" newLigneVariables(btex $"+nomv+"$ etex);";lp:=" "; lf:=" ";lsp:=" ";
 
 
 
@@ -1322,173 +1126,116 @@ if(nz>2){ for(r:=1; r<=nz-2;r++){LP:=LP,if(member(Z[r],F)){limite(f(x),x,Z
 if(nz>2){ LL:=[LI,LP,LF]}else{LL:=[LI,LF]};
       
 NL:=size(LL);
-A:=NULL;aa:=1;kk:=0;
+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 $"+latex(Z[k])+"$ etex);"+"val(btex $\\alpha_"+aa+"$ etex);";aa:=aa+1;}else{l0:=l0+"val(btex $"+latex(Z[k])+"$ etex);"}}
-l0:=l0+"val(btex $"+latex(Z[nz-1])+"$ etex);"};
+l0:=l0+"val(btex $"+latex(Z[nz-1])+"$ 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 $"+latex(Z[kk])+"$ etex);"+"val(btex $\\alpha_"+aa+"$ etex);";aa:=aa+1;kk:=kk+1}}else{l0:=l0+"val(btex $"+latex(Z[kk])+"$ etex);";kk:=kk+1}}
-l0:=l0+"val(btex $"+latex(Z[nz-1])+"$ etex);
+A:=A,aa;l0:=l0+"val(btex $"+latex(Z[kk])+"$ etex);"+"val(btex $\\alpha_"+aa+"$ etex);";aa:=aa+1;kk:=kk+1}}else{l0:=l0+"val(btex $"+latex(Z[kk])+"$ etex);";kk:=kk+1}}
+l0:=l0+"val(btex $"+latex(Z[nz-1])+"$ 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]-ao))==0.0);
        k0:= evalf(limite(f(x),x=Z[0],1))> evalf(limite(f(x),x=Z[1],-1));
-       kz:=evalf(limite(f(x),x=Z[nz-1],-1))> evalf(limite(f(x),x=Z[nz-2],1));
+       kz:=evalf(limite(f(x),x=Z[nz-1],-1))> evalf(limite(f(x),x=Z[nz-2],1));
                           
-lsi:="
+lsi:="
 newLigneSignes(btex $\\hbox{ Signe de }\\atop{\\displaystyle "+nom+"'("+nomv+")}$ etex);"+
      if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){
-                                                    if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+
+                                                    if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+
                                                     if(sign(fp((Z[0]+10^(-10))))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+
-                                                         if(sign(fp(10^(-10)+Z[0]))==1){"plus;"}else{"moins;"} }}+if(TestS==0){"valBarre(btex$  $ etex);"+ if(sign(fp(10^(-10)+Z[0]))==1){"plus;"}else{"moins;"}}else{" "}; 
+                                                         if(sign(fp(10^(-10)+Z[0]))==1){"plus;"}else{"moins;"} }}+if(TestS==0){"valBarre(btex$  $ etex);"+ if(sign(fp(10^(-10)+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]-ao))==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;"}+
+                                 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 $  $ etex);"}else{" "}+if(TestS==0){if(ksp==1){"plus;"}else{"moins;"}}else{" "};
                                              }}
-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);
+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 $  $ 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;}        
+                      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 $  $ 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;}        
 }}     
   }; 
 
 
 
 lsf:=if(member(Z[nz-1],F)==0){""}else{"nomDefBarre;"}
-lm0:=limite(f(x),x=Z[0],1)==-infinity;
+lm0:=limite(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);
+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:="
-newLigneVariations(btex $\\hbox{\\bf Variations de }\\atop{\\displaystyle \\Mathbold{"+nom+"}}$ etex);
+newLigneVariations(btex $\\hbox{  Variations  de}\\atop{\\displaystyle  {"+nom+"}}$ etex);
 "+  if(member(Z[0],F)==0){"valPos(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"}
-             else{"nonDefBarre;limDroite(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"}+                               
-           if(k0==1){"1);"}else{"0);"}+if(TestS==0){"valPos(btex $ "+ao+" $ etex,0.5);"}else{" "}; 
+             else{"nonDefBarre;limDroite(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"}+                               
+           if(k0==1){"1);"}else{"0);"}+if(TestS==0){"valPos(btex $ "+ao+" $ etex,0.5);"}else{" "}; 
                          
             
-                     if(nz>2){if(nz==NL){for(r:=1; r<=nz-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); 
+                     if(nz>2){if(nz==NL){for(r:=1; r<=nz-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); 
                                                  krm:=evalf(limite(f(x),x=Z[r-1],1))< evalf(limite(f(x),x=Z[r],-1));
                                                  krp:=evalf(limite(f(x),x=Z[r],1))> evalf(limite(f(x),x=Z[r+1],-1)) ;  
-                         lmrm:=limite(f(x),x=Z[r],-1)==-infinity;lmrp:=limite(f(x),x=Z[r],1)==-infinity;
+                         lmrm:=limite(f(x),x=Z[r],-1)==-infinity;lmrp:=limite(f(x),x=Z[r],1)==-infinity;
                                                   lp:=lp+if(member(Z[r],F)) {
-                                    "limGauche(btex $"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}}
+                                    "limGauche(btex $"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}}
                                           else{"valPos(btex          $"+latex(simplifier(f(Z[r])))+"$
-                                            etex,"+if(sign(evalf(fp(Z[r]-0.01)))==sign(fp(Z[r]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);"}}}+if(TestS==0){"valPos(btex
-                                            $ "+ao+" $ etex,0.5);"
-                                                           }else{" "}; 
+                                            etex,"+if(sign(evalf(fp(Z[r]-0.01)))==sign(fp(Z[r]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);"}}}+if(TestS==0){"valPos(btex
+                                            $ "+ao+" $ etex,0.5);"
+                                                           }else{" "}; 
 };//for
 }else{rr:=1;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); 
-                                                 krm:=evalf(limite(f(x),x=Z[rr-1],1))< evalf(limite(f(x),x=Z[rr],-1));
-                                                 krp:=evalf(limite(f(x),x=Z[rr],1))> evalf(limite(f(x),x=Z[rr+1],-1)) ;  
+                                                 krm:=evalf(limite(f(x),x=Z[rr-1],1))< evalf(limite(f(x),x=Z[rr],-1));
+                                                 krp:=evalf(limite(f(x),x=Z[rr],1))> evalf(limite(f(x),x=Z[rr+1],-1)) ;  
                          lmrm:=limite(f(x),x=Z[rr],-1)==-infinity;lmrp:=limite(f(x),x=Z[rr],1)==-infinity; TestL:=(abs(LL[r])==abs(LL[r+1]));
 if(TestS==0){if( TestL==1 ){lp:=lp}else{  lp:=lp+if(member(Z[rr],F)) {
-                                    "limGauche(btex $"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}}
+                                    "limGauche(btex $"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}}
                                           else{"valPos(btex          $"+latex(simplifier(f(Z[rr])))+"$
-                                            etex,"+if(sign(evalf(fp(Z[rr]-0.01)))==sign(fp(Z[rr]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);"}}}+"valPos(btex
+                                            etex,"+if(sign(evalf(fp(Z[rr]-0.01)))==sign(fp(Z[rr]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);"}}}+"valPos(btex
                                             $ "+ao+" $ etex,0.5);
-                                                                 ";rr:=rr+1;
+                                                                 ";rr:=rr+1;
 }// else testL==1
 }//testS==0
-else{lp:=lp+if(member(Z[rr],F)){
-                                    "limGauche(btex $"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}}
+else{lp:=lp+if(member(Z[rr],F)){
+                                    "limGauche(btex $"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}}
                                           else{"valPos(btex          $"+latex(simplifier(f(Z[rr])))+"$
                                             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;
+                                                            "}}};rr:=rr+1;
 }//else testS==0
-}//for nz<NL
-}// else nz<NL
+}//for nz<NL
+}// else nz<NL
 //if nz=NL
-};//if nz>2
+};//if nz>2
 
 
-lnz:=limite(f(x),x=Z[nz-1],-1)==-infinity;
-                           lf:=if(member(Z[nz-1],F)==0){"valPos(btex $"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$ etex,"}else{"nonDefBarre;limGauche(btex $"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$ etex,"}+                               
-           if(kz==1){"1);"}else{"0);"};    
+lnz:=limite(f(x),x=Z[nz-1],-1)==-infinity;
+                           lf:=if(member(Z[nz-1],F)==0){"valPos(btex $"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$ etex,"}else{"nonDefBarre;limGauche(btex $"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$ etex,"}+                               
+           if(kz==1){"1);"}else{"0);"};    
     
 
 
-intro:="
-input tableauVariation;
-verbatimtex
-%&latex
- \\documentclass{article}
-  \\?fonte
- \\usepackage{amsmath}
- \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}}
- \\begin{document}
- etex;
-
-";
-  
-
-MetaL:= if(ftt==2){if(nz>2){intro+"beginTableau("+nmr+")"+
-        l0+lsi+lsp+lsf+"
-endTableau;
-end";}else{
-intro+"beginTableau("+nmr+")"+
-        l0+
-lsi+lsf+"
-endTableau;
-end";
-}
-}else{
-if(ftt==0){if(nz>2){intro+"beginTableau("+nmr+")"+
-        l0+
-li+
-lp+
-lf
-+"
-endTableau;
-end";}else{intro+"beginTableau("+nmr+")"+
-        l0+
-li+
-lf
-+"
-endTableau;
-end";}}else{
-if(nz>2){intro+"beginTableau("+nmr+")"+
-        l0+
-lsi+lsp+lsf+
-li+
-lp+
-lf
-+"
-endTableau;
-end";}else{intro+"beginTableau("+nmr+")"+
-        l0+
-lsi+lsf+
-li+
-lf
-+"
-endTableau;
-end";}
-}};
-
 
-MetaLfc:= if(ftt==2){if(nz>2){"beginTableau("+nmr+")"+
+MetaLfc:= if(ftt==2){if(nz>2){"beginTableau("+nmr+")"+
         l0+lsi+lsp+lsf+"
-endTableau;
+endTableau;
 
-";}else{
+";}else{
 "beginTableau("+nmr+")"+
         l0+
-lsi+lsf+"
-endTableau;
+lsi+lsf+"
+endTableau;
 
 ";
 }
@@ -1496,30 +1243,30 @@ endTableau;
 if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+
         l0+
 li+
-lp+
+lp+
 lf
 +"
-endTableau;
+endTableau;
 
-";}else{"beginTableau("+nmr+")"+
+";}else{"beginTableau("+nmr+")"+
         l0+
 li+
-lf
+lf
 +"
-endTableau;
+endTableau;
 ";}}else{
 if(nz>2){"beginTableau("+nmr+")"+
         l0+
 lsi+lsp+lsf+
 li+
 lp+
-lf
+lf
 +"
-endTableau;
+endTableau;
 
 ";}else{"beginTableau("+nmr+")"+
         l0+
-lsi+lsf+
+lsi+lsf+
 li+
 lf
 +"
@@ -1531,11 +1278,10 @@ lf
 
 
 sortie:=fopen("XCasmpfc.mp");
-fprint(sortie,Unquoted,MetaLfc);
-fclose(sortie);
+fprint(sortie,Unquoted,MetaLfc);
+fclose(sortie);
 
 
-return(MetaL);
  }:;
 
 
@@ -1561,13 +1307,13 @@ return(MetaL);
 
 
 
-\begin{VerbatimOut}[commandchars=?WW]{XcasTabSignL.cxx}
+\begin{VerbatimOut}{XcasTabSignL.cxx}
 
 
 TS(L,D,nmr):={
 L:=apply(f->unapply(f,x),L)
 n:=size(L);
-Z:=NULL;
+Z:=NULL;
 
 mini:=D[0]; maxi:=D[1];
 
@@ -1577,82 +1323,57 @@ pour k de 0 jusque n-1 faire
                           if(S[j]>mini and S[j]<maxi){Z:=Z,simplifier(S[j]);}
                       fpour;
   fsi;
-fpour;
+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:=nz-1;
      fsi;
-fpour;};
-nz:=size(Z);
+fpour;};
+nz:=size(Z);
 
 if(nz==0){li:="";l0:="val(btex $"+latex(D[0])+"$ etex);val(btex $"+latex(D[1])+"$ etex);";
           for(p:=0;p<=n-1;p++){li:=li+"
-newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(L[p](x))+"}}$ etex);"+
+newLigneSignes(btex $\\hbox{  Signe de }\\atop{\\displaystyle  {"+latex(L[p](x))+"}}$ etex);"+
 if(mini!=-infinity and L[p](mini)==0){"
-                                valBarre(btex 0 etex);"}else{"
+                                valBarre(btex 0 etex);"}else{"
                               "}+ 
-if(L[p]((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}+if(maxi!=+infinity and L[p](maxi)==0){"
-                                valBarre(btex 0 etex);"}else{"
+if(L[p]((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}+if(maxi!=+infinity and L[p](maxi)==0){"
+                                valBarre(btex 0 etex);"}else{"
                               "}
 
 }
            lf:=if(product(L[s]((mini+maxi)*.5),s,0,n-1)>0){"plus;"}else{"moins;"};
 
-MetaL:=" input tableauVariation;
-           verbatimtex
-%&latex
- \\documentclass{article}
-  \\?fonte
- \\usepackage{amsmath}
- \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}}
- \\begin{document}
- etex;
-
-beginTableau("+nmr+")
-newLigneVariables(btex $\\Mathbold{x}$ etex);
-   "+l0+li+
-    "
- newLigneSignes(btex $\\hbox{\\bf Signe du }\\atop{{\\bf produit}}$ etex);"+
-               if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){"
-                                valBarre(btex 0 etex);"}else{"
-                              "}+  lf+
-                               if(maxi!=+infinity and product(L[s](maxi),s,0,n-1)==0){"
-                                valBarre(btex 0 etex);"}else{"
-                              "}+"
-endTableau;
-end"
-;
-
 
-MetaLfc:="    beginTableau("+nmr+")
-newLigneVariables(btex $\\Mathbold{x}$ etex);
+MetaLfc:="    beginTableau("+nmr+")
+newLigneVariables(btex $ {x}$ etex);
    "+l0+li+
     "
- newLigneSignes(btex $\\hbox{\\bf Signe du }\\atop{{\\bf produit}}$ etex);"+
+ newLigneSignes(btex $\\hbox{  Signe du }\\atop{{\\displaystyle   produit}}$ etex);"+
                if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){"
                                 valBarre(btex 0 etex);"}else{"
                               "}+  lf+
                                if(maxi!=+infinity and product(L[s](maxi),s,0,n-1)==0){"
-                                valBarre(btex 0 etex);"}else{"
+                                valBarre(btex 0 etex);"}else{"
                               "}+"
-endTableau;
+endTableau;
 "
 ;
 
-}else{
+}else{
 
 l0:="val(btex $"+latex(D[0])+"$ etex);";li:=" ";lr:=" "; 
 pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex);
 ";fpour; 
-l0:=l0+"val(btex $"+latex(D[1])+"$ etex);";
+l0:=l0+"val(btex $"+latex(D[1])+"$ etex);";
 
 
 for(p:=0;p<=n-1;p++){lp:="";                                     
      li:=li+"
-newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(L[p](x))+"}}$ etex);"+
+newLigneSignes(btex $\\hbox{  Signe de }\\atop{\\displaystyle  {"+latex(L[p](x))+"}}$ etex);"+
            if(mini!=-infinity and L[p](mini)==0){"
-                                valBarre(btex 0 etex);"}else{"
+                                valBarre(btex 0 etex);"}else{"
                               "}+ 
            if(L[p](Z[0]-0.01)>0){"plus;"}else{"moins;"};
                                
@@ -1662,55 +1383,27 @@ newLigneSignes(btex $\\hbox{\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);"}else{"
+                                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 etex);"                    
-                         fpour
+                         fpour
 
-MetaL:=" input tableauVariation;
-           verbatimtex
-%&latex
- \\documentclass{article}
-  \\?fonte
- \\usepackage{amsmath}
- \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}}
- \\begin{document}
- etex;
-          beginTableau("+nmr+")
-newLigneVariables(btex $\\Mathbold{x}$ etex);
-   "+l0+
-                     li
-                     +
-    "
- newLigneSignes(btex $\\hbox{\\bf Signe du }\\atop{{\\bf produit}}$ etex);"+
-               if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){"
-                                valBarre(btex 0 etex);"}else{"
-                              "}+  
-                         if(product(L[s](Z[0]-0.01),s,0,n-1)>0){"plus;"}else{"moins;"}+"valBarre(btex 0 etex);"+
-                         lr+
-                         if(product(L[s](Z[nz-1]+0.01),s,0,n-1)>0){"plus;"}else{"moins;"}+
-                               if(maxi!=+infinity and product(L[s](maxi),s,0,n-1)==0){"
-                                valBarre(btex 0 etex);"}else{"
-                              "}+"
-endTableau;
-end"
-;
-MetaLfc:="  beginTableau("+nmr+")
-newLigneVariables(btex $\\Mathbold{x}$ etex);
+MetaLfc:="  beginTableau("+nmr+")
+newLigneVariables(btex $ {x}$ etex);
    "+l0+
                      li
                      +
     "
- newLigneSignes(btex $\\hbox{\\bf Signe du }\\atop{{\\bf produit}}$ etex);"+
+ newLigneSignes(btex $\\hbox{  Signe du }\\atop{{\\displaystyle \\rm   produit}}$ etex);"+
                if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){"
-                                valBarre(btex 0 etex);"}else{"
+                                valBarre(btex 0 etex);"}else{"
                               "}+  
                          if(product(L[s](Z[0]-0.01),s,0,n-1)>0){"plus;"}else{"moins;"}+"valBarre(btex 0 etex);"+
                          lr+
@@ -1718,14 +1411,14 @@ newLigneVariables(btex $\\Mathbold{x}$ etex
                                if(maxi!=+infinity and product(L[s](maxi),s,0,n-1)==0){"
                                 valBarre(btex 0 etex);"}else{"
                               "}+"
-endTableau;
+endTableau;
 
  ";
 }
 sortie:=fopen("XCasmpfc.mp");
 fprint(sortie,Unquoted,MetaLfc);
 fclose(sortie);
-return(MetaL);
+
  }:;
 
 \end{VerbatimOut}
@@ -1739,7 +1432,7 @@ return(MetaL);
 
 
 
-\begin{VerbatimOut}[commandchars=?WW]{XcasTabSignQ.cxx}
+\begin{VerbatimOut}{XcasTabSignQ.cxx}
 TSq(nomf,L,Fo,D,nmr):={
 L:=apply(f->unapply(f,x),L);
 Fo:=apply(f->unapply(f,x),Fo);
@@ -1755,7 +1448,7 @@ pour k de 0 jusque n-1 faire
   S:=resoudre(L[k](x),x);
   si size(S)>0 alors   pour j de 0 jusque size(S)-1 faire 
                           if(S[j]>mini and S[j]<maxi){Z:=Z,simplifier(S[j]);}
-                      fpour;
+                      fpour;
   fsi;
 fpour;
 
@@ -1772,73 +1465,48 @@ pour k de 0 jusque m-1 faire
 
 
 Z:=sort(Z); // on classe les zéros dans l'ordre croissant 
-nz:=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 zéros en double
      fsi;
-fpour;}
+fpour;}
 
 
 Z:=sort(Z);
-nz:=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;
      fsi;
-fpour;};
-nz:=size(Z);
+fpour;};
+nz:=size(Z);
 
 if(nz==0){li:="";l0:="val(btex $"+latex(D[0])+"$ etex);val(btex $"+latex(D[1])+"$ etex);";
           for(p:=0;p<=n-1;p++){li:=li+"
-newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(L[p](x))+"}}$ etex);"+
+newLigneSignes(btex $\\hbox{  Signe de }\\atop{\\displaystyle  {"+latex(L[p](x))+"}}$ etex);"+
 if(mini!=-infinity and L[p](mini)==0){"
-                                valBarre(btex 0 etex);"}else{"
+                                valBarre(btex 0 etex);"}else{"
                               "}+ 
-if(L[p]((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}+if(maxi!=+infinity and L[p](maxi)==0){"
+if(L[p]((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}+if(maxi!=+infinity and L[p](maxi)==0){"
                                 valBarre(btex 0 etex);"}else{"
                               "}
 
 }
            lf:=if(product(L[s]((mini+maxi)*.5),s,0,n-1)>0){"plus;"}else{"moins;"};
 
-MetaL:=" input tableauVariation;
-           verbatimtex
-%&latex
- \\documentclass{article}
-  \\?fonte
- \\usepackage{amsmath}
- \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}}
- \\begin{document}
- etex;
-
-beginTableau("+nmr+")
-newLigneVariables(btex $\\Mathbold{x}$ etex);
-   "+l0+li+
-    "
- newLigneSignes(btex $\\hbox{\\bf Signe }\\atop{{\\bf  de "+nomf+"(x)}}$ etex);"+
-              if(member(mini,FF)==0){if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){"
-                                valBarre(btex 0 etex);"}else{"
-                              "}}else{"nonDefBarre;"}+  lf+
-                               if(member(maxi,FF)==0){if(maxi!=+infinity and product(L[s](maxi),s,0,n-1)==0){"
-                                valBarre(btex 0 etex);"}else{"
-                              "}}else{"nonDefBarre;"}+"
-endTableau;
-end"
-;
-
 
 
 
-MetaLfc:=" 
+MetaLfc:=" 
 beginTableau("+nmr+")
-newLigneVariables(btex $\\Mathbold{x}$ etex);
+newLigneVariables(btex $ {x}$ etex);
    "+l0+li+
     "
- newLigneSignes(btex $\\hbox{\\bf Signe }\\atop{{\\bf  de "+nomf+"(x)}}$ etex);"+
+ newLigneSignes(btex $\\hbox{  Signe }\\atop{{\\displaystyle   de "+nomf+"(x)}}$ etex);"+
               if(member(mini,FF)==0){if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){"
                                 valBarre(btex 0 etex);"}else{"
-                              "}}else{"nonDefBarre;"}+  lf+
-                               if(member(maxi,FF)==0){if(maxi!=+infinity and product(L[s](maxi),s,0,n-1)==0){"
-                                valBarre(btex 0 etex);"}else{"
+                              "}}else{"nonDefBarre;"}+  lf+
+                               if(member(maxi,FF)==0){if(maxi!=+infinity and product(L[s](maxi),s,0,n-1)==0){"
+                                valBarre(btex 0 etex);"}else{"
                               "}}else{"nonDefBarre;"}+"
 endTableau;
 
@@ -1848,20 +1516,20 @@ newLigneVariables(btex $\\Mathbold{x}$ etex
 
 
 
-}else{
+}else{
 
 
 l0:="val(btex $"+latex(D[0])+"$ etex);";li:=" ";lr:=" "; 
 pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex);
 ";fpour; 
-l0:=l0+"val(btex $"+latex(D[1])+"$ etex);";
+l0:=l0+"val(btex $"+latex(D[1])+"$ etex);";
 
 
-for(p:=0;p<=n-1;p++){lp:="";                                     
+for(p:=0;p<=n-1;p++){lp:="";                                     
      li:=li+"
-newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(L[p](x))+"}}$ etex);"+
+newLigneSignes(btex $\\hbox{  Signe de }\\atop{\\displaystyle  {"+latex(L[p](x))+"}}$ etex);"+
            if(mini!=-infinity and L[p](mini)==0){"
-                                valBarre(btex 0 etex);"}else{"
+                                valBarre(btex 0 etex);"}else{"
                               "}+ 
            if(L[p](Z[0]-0.01)>0){"plus;"}else{"moins;"};
                                
@@ -1881,49 +1549,20 @@ newLigneSignes(btex $\\hbox{\nonDefBarre;"}                   
                          fpour
 
-MetaL:=" input tableauVariation;
-verbatimtex
-%&latex
- \\documentclass{article}
-  \\?fonte
- \\usepackage{amsmath}
- \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}}
- \\begin{document}
- etex;
-          beginTableau("+nmr+")
-newLigneVariables(btex $\\Mathbold{x}$ etex);
-   "+l0+
-                     li
-                     +
-    "
- newLigneSignes(btex $\\hbox{\\bf Signe de}\\atop{{\\bf "+nomf+"(x)}}$ etex);"+
-               if(member(mini,FF)==0){if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){"
-                                valBarre(btex 0 etex);"}else{"
-                              "}}else{"nonDefBarre;"}+  
-                         if(product(L[s](Z[0]-0.01),s,0,n-1)>0){"plus;"}else{"moins;"}+
-                         if(member(Z[0],FF)==0){"valBarre(btex 0 etex);"}else{ "nonDefBarre;"}+
-                         lr+
-                         if(product(L[s](Z[nz-1]+0.01),s,0,n-1)>0){"plus;"}else{"moins;"}+
-                               if(member(maxi,FF)==0){if(maxi!=+infinity and product(L[s](maxi),s,0,n-1)==0){"
-                                valBarre(btex 0 etex);"}else{" "}}else{"nonDefBarre;"}+"
-endTableau;
-end"
-;
-
 
 
 
-MetaLfc:="
-beginTableau("+nmr+")
-newLigneVariables(btex $\\Mathbold{x}$ etex);
+MetaLfc:="
+beginTableau("+nmr+")
+newLigneVariables(btex $ {x}$ etex);
    "+l0+
                      li
                      +
     "
- newLigneSignes(btex $\\hbox{\\bf Signe de}\\atop{{\\bf "+nomf+"(x)}}$ etex);"+
+ newLigneSignes(btex $\\hbox{  Signe de}\\atop{{\\displaystyle   "+nomf+"(x)}}$ etex);"+
                if(member(mini,FF)==0){if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){"
                                 valBarre(btex 0 etex);"}else{"
                               "}}else{"nonDefBarre;"}+  
@@ -1944,14 +1583,13 @@ newLigneVariables(btex $\\Mathbold{x}$ etex
 
 
 sortie:=fopen("XCasmpfc.mp");
-fprint(sortie,Unquoted,MetaLfc);
+fprint(sortie,Unquoted,MetaLfc);
 fclose(sortie);
 
 
 
 
 
-return(MetaL);
  }:;
 
 \end{VerbatimOut}
@@ -1966,53 +1604,52 @@ return(MetaL);
 
 
 
-\begin{VerbatimOut}[commandchars=?WW]{XcasTabSign.cxx}
+\begin{VerbatimOut}{XcasTabSigna.cxx}
 TSa(a,b,c,d,nmr):={
 zA:=resoudre(a*x+b=0,x)[0];
 zB:=resoudre(c*x+d=0,x)[0];
-zmin:=min(zA,zB);
-zmax:=max(zA,zB);
-  Meta:= " input tableauVariation;
-           verbatimtex
-%&latex
- \\documentclass{article}
-  \\?fonte
- \\usepackage{amsmath}
- \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}}
- \\begin{document}
- etex;
-          beginTableau("+nmr+")
-   newLigneVariables(btex $\\Mathbold{x}$ etex);
+zmin:=min(zA,zB);
+zmax:=max(zA,zB);
+  Meta:= " 
+          beginTableau("+nmr+")
+   newLigneVariables(btex $ {x}$ etex);
    val(btex $-\\infty$ etex);val(btex $"+latex(zmin)+"$ etex);
 val(btex $"+latex(zmax)+"$etex);
-val(btex $+\\infty$ etex); 
-   newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\displaystyle \\Mathbold{"+if(a==1){"x+"}else{if(a==-1){"-x+"}else{a+"x+"}}+b+"}}$ etex);"
+val(btex $+\\infty$ etex); 
+   newLigneSignes(btex $\\hbox{  Signe de }\\atop{\\displaystyle  {"+if(a==1){"x+"}else{if(a==-1){"-x+"}else{a+"x+"}}+b+"}}$ etex);"
         +   if(a>0){"moins;"}else{"plus;"}+
                                  if(zmin==zA){"valBarre(btex 0 etex);"}else{"barre;"}+
-                                 if(zmin==zA){si a>0 alors "plus;"; sinon "moins;";fsi}
+                                 if(zmin==zA){si a>0 alors "plus;"; sinon "moins;";fsi}
                                              else{si a>0 alors "moins;"; sinon "plus;"; fsi}+
-                                 if(zmin==zA){"barre;"}else{"valBarre(btex 0 etex);"}+
+                                 if(zmin==zA){"barre;"}else{"valBarre(btex 0 etex);"}+
                                  if(a>0){"plus;"}else{"moins;"}
      +" 
-newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\displaystyle \\Mathbold{"+if(c==1){"x+"}else{if(c==-1){"-x+"}else{c+"x+"}}+d+"}}$ etex);"
+newLigneSignes(btex $\\hbox{  Signe de }\\atop{\\displaystyle  {"+if(c==1){"x+"}else{if(c==-1){"-x+"}else{c+"x+"}}+d+"}}$ 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;";fsi}
+                                 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(zmin==zB){"barre;"}else{"valBarre(btex 0 etex);"}+
                                  if(c>0){"plus;"}else{"moins;"}  
      
    +" 
-newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\displaystyle \\Mathbold{("+if(a==1){"x+"}else{if(a==-1){"-x+"}else{a+"x+"}}+b+")("+if(c==1){"x+"}else{if(c==-1){"-x+"}else{c+"x+"}}+d+")}}$ etex);"
-        +   si a*c>0 alors plus; sinon moins;fsi+";"+
-                                 "valBarre(btex 0 etex);"+
+newLigneSignes(btex $\\hbox{  Signe de }\\atop{\\displaystyle  {("+if(a==1){"x+"}else{if(a==-1){"-x+"}else{a+"x+"}}+b+")("+if(c==1){"x+"}else{if(c==-1){"-x+"}else{c+"x+"}}+d+")}}$ etex);"
+        +   si a*c>0 alors plus; sinon moins;fsi+";"+
+                                 "valBarre(btex 0 etex);"+
                                  si a*c>0 alors moins; sinon plus;fsi+";"+
                                  "valBarre(btex 0 etex);"+
                                  si a*c>0 alors plus; sinon moins;fsi+";"+"
-endTableau;
-end"
+endTableau;
+"
 ;
-return(Meta);
+
+
+
+sortie:=fopen("XCasmpfc.mp");
+fprint(sortie,Unquoted,Meta);
+fclose(sortie);
+
+
  }:;
 \end{VerbatimOut}
 
@@ -2028,8 +1665,8 @@ return(Meta);
 
 
 
-\begin{VerbatimOut}[commandchars=?WW]{XcasTSc.cxx}
-TSc(g,D,nmr):={
+\begin{VerbatimOut}{XcasTSc.cxx}
+TSc(g,D,nmr):={
 f:=unapply(g,x);
 Z:=NULL;
 mini:=D[0]; maxi:=D[1];lm:=" ";
@@ -2037,24 +1674,24 @@ S:=resoudre(f(x),x);
 if(size(S)==0){
 l0:="val(btex $"+latex(D[0])+"$ etex);val(btex $"+latex(D[1])+"$ etex);";
 li:=if(mini!=-infinity and f(mini)==0){"
-                                valBarre(btex 0 etex);"}else{"
+                                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;"}};
-lf:=if(maxi!=+infinity and f(maxi)==0){"
-                                valBarre(btex 0 etex);"}else{"
+lf:=if(maxi!=+infinity and f(maxi)==0){"
+                                valBarre(btex 0 etex);"}else{"
                               "};
 }
-else{pour j de 0 jusque size(S)-1 faire 
+else{pour j de 0 jusque size(S)-1 faire 
                            if(S[j]>mini and S[j]<maxi){Z:=Z,simplifier(S[j])};
                       fpour;
 
 
 Z:=sort(Z);
-nz:=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;
      fsi;
-fpour;}
+fpour;}
 
 
 nz:=size(Z);
@@ -2080,41 +1717,23 @@ li:= if(mini!=-infinity and f(mini)==0){"
                               "}+ 
 if(f(Z[0]-0.01)>0){"plus;"}else{"moins;"}+"valBarre(btex 0 etex);";                               
 
-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;"}+
-                                      "valBarre(btex 0 etex);" 
-                           }}else{" "}; 
+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;"}+
+                                      "valBarre(btex 0 etex);" 
+                           }}else{" "}; 
 
-lf:=if(f(Z[nz-1]+1.0)>0){"plus;"}else{"moins;"}+if(maxi!=+infinity and f(maxi)==0){"valBarre(btex 0 etex);"}else{"
+lf:=if(f(Z[nz-1]+1.0)>0){"plus;"}else{"moins;"}+if(maxi!=+infinity and f(maxi)==0){"valBarre(btex 0 etex);"}else{"
                               "};
 }};  
 
 
-MetaL:=" input tableauVariation;
-           verbatimtex
-%&latex
- \\documentclass{article}
-  \\?fonte
- \\usepackage{amsmath}
- \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}}
- \\begin{document}
- etex;
-beginTableau("+nmr+")
-newLigneVariables(btex $\\Mathbold{x}$ etex);
-   "+l0+"
-newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(f(x))+"}}$ etex);"+
-                     li+lm+lf
-                     +"
-endTableau;
-end"
-;
 
 
-MetaLfc:="
+MetaLfc:="
 
-beginTableau("+nmr+")
-newLigneVariables(btex $\\Mathbold{x}$ etex);
+beginTableau("+nmr+")
+newLigneVariables(btex $\\displaystyle  {x}$ etex);
    "+l0+"
-newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(f(x))+"}}$ etex);"+
+newLigneSignes(btex $\\hbox{  Signe de }\\atop{\\displaystyle  {"+latex(f(x))+"}}$ etex);"+
                      li+lm+lf
                      +"
 endTableau;
@@ -2127,12 +1746,10 @@ newLigneSignes(btex $\\hbox{\fclose(sortie);
 
 
 
-return(MetaL);
  }:;
 \end{VerbatimOut}
 
@@ -2155,22 +1772,26 @@ return(MetaL);
 \newcommand{\dresse}[1]{%
 \ifthenelse{\boolean{xcas}}{%        Avec l'option "XCas présent"
          \executGiacmp{XCas#1.giac}% reconstituer le tableau
-                                   % exporter le source mp
+                                   % exporter le source mp
                                    % puis lancer metapost pour créer
                                    % l'image du tableau
-         \immediate\write18{\cat XCasmpfc.mp >> \Tableaux.Tab.mp}
-         \immediate\write18{mpost -interaction=batchmode -jobname=\Tableaux.Tab  XCasmp#1}}%
+         \immediate\write18{\cat XCasmpfc.mp >> \Tableaux.Tab.mp}
+         \immediate\write18{\cat enteteMP.cfg >> \Tableaux.Tab#1.mp}
+         \immediate\write18{\cat XCasmpfc.mp >> \Tableaux.Tab#1.mp}
+         \immediate\write18{\cat queue.mp >> \Tableaux.Tab#1.mp}
+         \immediate\write18{mpost -interaction=batchmode -jobname=\Tableaux.Tab \Tableaux.Tab#1}
+          \immediate\write18{\rem \Tableaux.Tab#1.mp}   }%
          {% sinon, si le tableau est absent, alerte.
          \IfFileExists{\Tableaux.Tab.\theTVn}{}{% 
          \PackageError{tablor}{Tableau absent non
          reconstituable.}{Pour compiler il faut, soit les fichiers de
          tableaux, soit le fichier \Tableaux.Tab.mp, soit disposer de
-         XCas.}}}
+         XCas.}}}
                 
 \begin{center}
-  \includegraphics{\Tableaux.Tab.\theTVn}
+  \includegraphics{\Tableaux.Tab.\theTVn}
 \end{center}
-\stepcounter{TVn}}
+\stepcounter{TVn}}
 
 
 %%
@@ -2183,7 +1804,7 @@ return(MetaL);
 \newcommand{\dressetoile}[1]{%
 \IfFileExists{\Tableaux.Tab.\theTVn}{% Test sur l'existence du tableau
 % Si oui, inclusion du fichier source de sauvegarde mp dans Tableaux
-\immediate\write18{\cat TSav-\theTVn.mp >> \Tableaux.Tab.mp}}
+\immediate\write18{\cat TSav-\theTVn.mp >> \Tableaux.Tab.mp}}
 % Si  non,  lancement des opérations de fabrication 
 {\executGiacmp{XCas#1.giac}% 
 \immediate\write18{\editeur XCasmpfc.mp}
@@ -2192,7 +1813,7 @@ return(MetaL);
 
 \immediate\write18{\cp -f XCasmpfc.mp TSav-\theTVn.mp}   % Sauvegarde du 
                                  % source mp sur le disque pour une
-                                 % inclusion ultérieure dans Tableaux.mp. 
+                                 % inclusion ultérieure dans Tableaux.mp. 
 \immediate\write18{\cat XCasmpfc.mp >> \Tableaux.Tab.mp}} % Inclusion du
                                                      % source dans le
                                                      % fichier
@@ -2204,7 +1825,7 @@ return(MetaL);
                                 % fichier 
 
 \begin{center}
-  \includegraphics{\Tableaux.Tab.\theTVn}
+  \includegraphics{\Tableaux.Tab.\theTVn}
 \end{center}
 
 \setcounter{TVn}{\theTVnbis}    % Restauration du compteur TVn
@@ -2228,25 +1849,16 @@ return(MetaL);
 
 
 
-\begin{VerbatimOut}{XCas.giac}
+\begin{VerbatimOut}{XCasa.giac}
 maple_mode(0);
-read("XcasTabSign.cxx");
-Sortie:=fopen("XCasmp.mp");
-vect.xcas.user := read("XCas.user");
-vxo := vect.xcas.user;
-dim.vxo := dim(vxo);
-nbr.line.vxo := dim.vxo;
-Resultat:=cat(" "); 
-rslt := vxo[0]; RslT:=cat(rslt);
-Resultat:=cat(Resultat,RslT);
-fprint(Sortie,Unquoted,Resultat);
-fclose(Sortie);
+read("XcasTabSigna.cxx");
+read("XCasa.user");
 \end{VerbatimOut}
 
 \newenvironment{TSa}
-{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCas.user}}
+{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasa.user}}
 {\end{VerbatimOut}
-          \dresse{}
+          \dresse{a}
 }
 
 
@@ -2257,23 +1869,14 @@ fclose(Sortie);
 
 
 
-\begin{VerbatimOut}{XCasQ.giac}
-maple_mode(0);
-read("XcasTabSignQ.cxx");
-Sortie:=fopen("XCasmpQ.mp");
-vect.xcas.user := read("XCasQ.user");
-vxo := vect.xcas.user;
-dim.vxo := dim(vxo);
-nbr.line.vxo := dim.vxo;
-Resultat:=cat(" "); 
-rslt := vxo[0]; RslT:=cat(rslt);
-Resultat:=cat(Resultat,RslT);
-fprint(Sortie,Unquoted,Resultat);
-fclose(Sortie);
+\begin{VerbatimOut}{XCasQ.giac}
+maple_mode(0);
+read("XcasTabSignQ.cxx");
+read("XCasQ.user");
 \end{VerbatimOut}
 
 \newenvironment{TSq}%
-{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasQ.user}}
+{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasQ.user}}
 {\end{VerbatimOut}\dresse{Q}}
 
 
@@ -2281,50 +1884,32 @@ fclose(Sortie);
 \newenvironment{TSq*}[1]%
 {\setcounter{TVnbis}{\theTVn}
 \setcounter{TVn}{#1}
-\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasQ.user}}
+\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasQ.user}}
 {\end{VerbatimOut}\dressetoile{Q}}
 
 
 \begin{VerbatimOut}{XCasL.giac}
-maple_mode(0);
+maple_mode(0);
 read("XcasTabSignL.cxx");
-Sortie:=fopen("XCasmpL.mp");
-vect.xcas.user := read("XCasL.user");
-vxo := vect.xcas.user;
-dim.vxo := dim(vxo);
-nbr.line.vxo := dim.vxo;
-Resultat:=cat(" "); 
-rslt := vxo[0]; RslT:=cat(rslt);
-Resultat:=cat(Resultat,RslT);
-fprint(Sortie,Unquoted,Resultat);
-fclose(Sortie);
+read("XCasL.user");
 \end{VerbatimOut}
 
 \newenvironment{TS}%
-{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasL.user}}
+{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasL.user}}
 {\end{VerbatimOut}\dresse{L}}
 
 
-\newenvironment{TS*}[1]
+\newenvironment{TS*}[1]
 {\setcounter{TVnbis}{\theTVn}
 \setcounter{TVn}{#1}
-\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasL.user}}
+\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasL.user}}
 {\end{VerbatimOut}\dressetoile{L}}
 
 
 \begin{VerbatimOut}{XCasTSc.giac}
 maple_mode(0);
 read("XcasTSc.cxx");
-Sortie:=fopen("XCasmpTSc.mp");
-vect.xcas.user := read("XCasTSc.user");
-vxo := vect.xcas.user;
-dim.vxo := dim(vxo);
-nbr.line.vxo := dim.vxo;
-Resultat:=cat(" "); 
-rslt := vxo[0]; RslT:=cat(rslt);
-Resultat:=cat(Resultat,RslT);
-fprint(Sortie,Unquoted,Resultat);
-fclose(Sortie);
+read("XCasTSc.user");
 \end{VerbatimOut}
 
 
@@ -2332,41 +1917,32 @@ fclose(Sortie);
 
 \newenvironment{TSc*}[1]%
 {\setcounter{TVnbis}{\theTVn}
-\setcounter{TVn}{#1}
-\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasTSc.user}}
-{\end{VerbatimOut}\dressetoile{TSc}}
+\setcounter{TVn}{#1}
+\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTSc.user}}
+{\end{VerbatimOut}\dressetoile{TSc}}
 
 
 \newenvironment{TSc}%
-{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasTSc.user}}
-{\end{VerbatimOut}\dresse{TSc}}
+{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTSc.user}}
+{\end{VerbatimOut}\dresse{TSc}}
 
 
 \begin{VerbatimOut}{XCasTV.giac}
 maple_mode(0);
 read("XcasTV.cxx");
-Sortie:=fopen("XCasmpTV.mp");
-vect.xcas.user := read("XCasTV.user");
-vxo := vect.xcas.user;
-dim.vxo := dim(vxo);
-nbr.line.vxo := dim.vxo;
-Resultat:=cat(" "); 
-rslt := vxo[0]; RslT:=cat(rslt);
-Resultat:=cat(Resultat,RslT);
-fprint(Sortie,Unquoted,Resultat);
-fclose(Sortie);
+read("XCasTV.user");
 \end{VerbatimOut}
 
-\newenvironment{TV}%
-{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasTV.user}}%
+\newenvironment{TV}%
+{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTV.user}}%
 {\end{VerbatimOut}
 \dresse{TV}}
 
 \newenvironment{TV*}[1]{%
 \setcounter{TVnbis}{\theTVn}
-\setcounter{TVn}{#1}
-\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasTV.user}}%
-{\end{VerbatimOut}\dressetoile{TV}}
+\setcounter{TVn}{#1}
+\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTV.user}}%
+{\end{VerbatimOut}\dressetoile{TV}}
 
 
 
@@ -2381,27 +1957,18 @@ fclose(Sortie);
 \begin{VerbatimOut}{XCasTVZ.giac}
 maple_mode(0);
 read("XcasTVZ.cxx");
-Sortie:=fopen("XCasmpTVZ.mp");
-vect.xcas.user := read("XCasTVZ.user");
-vxo := vect.xcas.user;
-dim.vxo := dim(vxo);
-nbr.line.vxo := dim.vxo;
-Resultat:=cat(" "); 
-rslt := vxo[0]; RslT:=cat(rslt);
-Resultat:=cat(Resultat,RslT);
-fprint(Sortie,Unquoted,Resultat);
-fclose(Sortie);
+read("XCasTVZ.user");
 \end{VerbatimOut}
 
-\newenvironment{TVZ}%
-{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasTVZ.user}}%
+\newenvironment{TVZ}%
+{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVZ.user}}%
 {\end{VerbatimOut}
 \dresse{TVZ}}
 
-\newenvironment{TVZ*}[1]{%
+\newenvironment{TVZ*}[1]{%
 \setcounter{TVnbis}{\theTVn}
 \setcounter{TVn}{#1}
-\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasTVZ.user}}%
+\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVZ.user}}%
 {\end{VerbatimOut}\dressetoile{TVZ}}
 
 
@@ -2414,29 +1981,20 @@ fclose(Sortie);
 
 
 \begin{VerbatimOut}{XCasTVapp.giac}
-maple_mode(0);
+maple_mode(0);
 read("XcasTVapp.cxx");
-Sortie:=fopen("XCasmpTVapp.mp");
-vect.xcas.user := read("XCasTVapp.user");
-vxo := vect.xcas.user;
-dim.vxo := dim(vxo);
-nbr.line.vxo := dim.vxo;
-Resultat:=cat(" "); 
-rslt := vxo[0]; RslT:=cat(rslt);
-Resultat:=cat(Resultat,RslT);
-fprint(Sortie,Unquoted,Resultat);
-fclose(Sortie);
+read("XCasTVapp.user");
 \end{VerbatimOut}
 
 \newenvironment{TVapp}%
-{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasTVapp.user}}%
+{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVapp.user}}%
 {\end{VerbatimOut}
 \dresse{TVapp}}
 
 \newenvironment{TVapp*}[1]{%
 \setcounter{TVnbis}{\theTVn}
-\setcounter{TVn}{#1}
-\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasTVapp.user}}%
+\setcounter{TVn}{#1}
+\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVapp.user}}%
 {\end{VerbatimOut}\dressetoile{TVapp}}
 
 
@@ -2452,27 +2010,18 @@ fclose(Sortie);
 \begin{VerbatimOut}{XCasTVI.giac}
 maple_mode(0);
 read("XcasTVI.cxx");
-Sortie:=fopen("XCasmpTVI.mp");
-vect.xcas.user := read("XCasTVI.user");
-vxo := vect.xcas.user;
-dim.vxo := dim(vxo);
-nbr.line.vxo := dim.vxo;
-Resultat:=cat(" "); 
-rslt := vxo[0]; RslT:=cat(rslt);
-Resultat:=cat(Resultat,RslT);
-fprint(Sortie,Unquoted,Resultat);
-fclose(Sortie);
+read("XCasTVI.user");
 \end{VerbatimOut}
 
-\newenvironment{TVI}%
-{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasTVI.user}}%
+\newenvironment{TVI}%
+{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVI.user}}%
 {\end{VerbatimOut}\dresse{TVI}}
 
 
 \newenvironment{TVI*}[1]%
 {\setcounter{TVnbis}{\theTVn}
-\setcounter{TVn}{#1}
-\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasTVI.user}}%
+\setcounter{TVn}{#1}
+\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVI.user}}%
 {\end{VerbatimOut}\dressetoile{TVI}}
 
 
@@ -2483,28 +2032,19 @@ fclose(Sortie);
 \begin{VerbatimOut}{XCasTVIapp.giac}
 maple_mode(0);
 read("XcasTVIapp.cxx");
-Sortie:=fopen("XCasmpTVIapp.mp");
-vect.xcas.user := read("XCasTVIapp.user");
-vxo := vect.xcas.user;
-dim.vxo := dim(vxo);
-nbr.line.vxo := dim.vxo;
-Resultat:=cat(" "); 
-rslt := vxo[0]; RslT:=cat(rslt);
-Resultat:=cat(Resultat,RslT);
-fprint(Sortie,Unquoted,Resultat);
-fclose(Sortie);
+read("XCasTVIapp.user");
 \end{VerbatimOut}
 
-\newenvironment{TVIapp}%
-{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasTVIapp.user}}%
+\newenvironment{TVIapp}%
+{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVIapp.user}}%
 {\end{VerbatimOut}\dresse{TVIapp}}
 
 
 \newenvironment{TVIapp*}[1]%
 {\setcounter{TVnbis}{\theTVn}
 \setcounter{TVn}{#1}
-\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasTVIapp.user}}%
-{\end{VerbatimOut}\dressetoile{TVIapp}}
+\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVIapp.user}}%
+{\end{VerbatimOut}\dressetoile{TVIapp}}
 
 
 
@@ -2513,7 +2053,7 @@ fclose(Sortie);
 
 
 %%
-%% Zi end -> enjoy :)
+%% Zi end -> enjoy :)
 
diff --git a/Master/texmf-dist/doc/latex/tablor/tablor.pdf b/Master/texmf-dist/doc/latex/tablor/tablor.pdf index 58e9301be17..c954c0bf881 100644 Binary files a/Master/texmf-dist/doc/latex/tablor/tablor.pdf and b/Master/texmf-dist/doc/latex/tablor/tablor.pdf differ diff --git a/Master/texmf-dist/doc/latex/tablor/tablor.tex b/Master/texmf-dist/doc/latex/tablor/tablor.tex index 5c8db7e2e25..a4dbb6d4a82 100644 --- a/Master/texmf-dist/doc/latex/tablor/tablor.tex +++ b/Master/texmf-dist/doc/latex/tablor/tablor.tex @@ -2,7 +2,7 @@ \usepackage[height=250mm,width=183mm]{geometry} \usepackage[T1]{fontenc} \usepackage[french]{babel} - +\usepackage[upright]{fourier} \usepackage[xcas]{tablor} \usepackage{listings,keystroke} \usepackage{graphicx,bclogo} @@ -16,16 +16,22 @@ %dans la table des matieres \addtolength{\cftsecnumwidth}{2em} +\addtolength{\cftsubsecnumwidth}{1em} +% pour une TdM hyperactive... +\usepackage[dvips,colorlinks=true,linkcolor=0.2white]{hyperref} +% quelques gris -\usepackage[dvips,colorlinks=true,linkcolor=0.2white]{hyperref} \usepackage{color} \definecolor{0.9white}{rgb}{.9,.9,.9} \definecolor{0.8white}{rgb}{.8,.8,.8} \definecolor{0.2white}{rgb}{.2,.2,.2} \definecolor{0.4white}{rgb}{.4,.4,.4} \definecolor{0.6white}{rgb}{.6,.6,.6} + +% style des listings + \newcommand{\lat}{ \lstset{numbers=none,language=[LaTeX]{TeX},xleftmargin=10pt,% keywordstyle =\color{0.2white}\usefont{OT1}{cmtt}{b}{n},basicstyle=\ttfamily,commentstyle=\normalfont\scriptsize\slshape, @@ -38,6 +44,8 @@ keywordstyle =\color{0.2white}\usefont{OT1}{cmtt}{b}{n},basicstyle=\ttfamily,com } +% petits environnements bclogo + \newenvironment{DANGER}[1]{% \begin{bclogo}{\attention}{#1}{0.9white}{0.1}} {\end{bclogo}} @@ -48,7 +56,7 @@ keywordstyle =\color{0.2white}\usefont{OT1}{cmtt}{b}{n},basicstyle=\ttfamily,com -% sections +% style des sections \usepackage{sectsty} @@ -81,17 +89,35 @@ keywordstyle =\color{0.2white}\usefont{OT1}{cmtt}{b}{n},basicstyle=\ttfamily,com \hfill\makebox[1cm][s]{\ding{114} \hfill\ding{114}}}}} - +% titre \title{\texttt{tablor.sty} \\La machine crer des tableaux de signes et de variations } \author{Guillaume \textsc{Connan} \\ \href{http://gconnan.free.fr}{http://gconnan.free.fr}\\ avec l'efficace participation de Jean-Michel \textsc{Boucart}} -\date{14 mai 2008 - Version 2.05} +\date{16 mai 2008 - Version 2.06} + + + + + + + + +%% +% +% Dbut du document +% +%% + + + \begin{document} +\setlength{\parindent}{0mm} + \maketitle \initablor @@ -122,24 +148,72 @@ courant puis effac session \texttt{XCAS} ou \texttt{giac}. \item des fichiers d'extension \texttt{.giac} qui regroupent des instructions lues et excutes par \texttt{giac}. -Les lignes importantes sont~: +Il est trs court~: \xcas \begin{lstlisting} +maple_mode(0); // au cas o certains travailleraient en mode maple, mupad ou ti read("XcasTV.cxx"); // giac charge le programme -Sortie:=fopen("XCasmpTV.mp"); // la sortie portera l'extension metapost -vect.xcas.user := read("XCasTV.user"); // giac lit les paramtres rentrs dans le fichier tex +read("XCasTV.user"); // giac lit les paramtres rentrs dans le source +tex et fabrique la vole le source MetaPOST. \end{lstlisting} \item des fichiers d'extension \texttt{.user} qui sont crs par \LaTeX{} grce l'environnement \texttt{VerbatimOut} de l'extension \texttt{fancyvrb} : il s'agit en fait de la commande qui se - trouve par exemple entre \verb+\begin{TVI}+ et \verb+\end{TVI}+. + trouve par exemple entre \verb+\begin{TV}+ et \verb+\end{TV}+. + \end{itemize} +\subsection{Code XCAS} + +Toutes les procdures suivent le mme principe~: + +\begin{itemize} +\item la plus grande partie s'occupe de crer les lignes du tableaux + l'aide de nombreux tests et boucles; +\item ensuite, on regroupe ces lignes dans une variable + \texttt{MetaLfc}; + +\item on exporte le tableau l'aide des trois dernires lignes~: + +\xcas + +\begin{lstlisting} +sortie:=fopen("XCasmpfc.mp"); // on cre un fichier XCasmpfc.mp +fprint(sortie,Unquoted,MetaLfc); // on y met MetaLfc +fclose(sortie); // on ferme XCasmpfc.mp +\end{lstlisting} + + + + +\lat +\end{itemize} + + + + +\begin{figure} + \begin{Idee}{Autres collaborations XCAS/\LaTeX{}} +On peut suivre ce mme principe pour crer d'autres associations de +vos outils prfrs. Voir par exemple~: + +\href{http://gconnan.free.fr/?page=53}{http://gconnan.free.fr/?page=53} + +et + +\href{http://melusine.eu.org/syracuse/giac/}{http://melusine.eu.org/syracuse/giac/} + \end{Idee} + \end{figure} + + + + + \section{De quoi a-t-on besoin~?} \begin{itemize} @@ -166,7 +240,8 @@ pour installer une nouvelle extension \LaTeX{}. 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}; -\item il faut avoir disposition l'extension \texttt{fancyvrb}; +\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 problme et rien faire car \texttt{tablor} contient dj ce qu'il faut pour s'adapter~: @@ -180,12 +255,15 @@ pour installer une nouvelle extension \LaTeX{}. \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 mme + rpertoire de \texttt{tablor.sty} \end{itemize} - +\begin{figure} \begin{Idee}{shell-escape} Pour les utilisateurs de TeXnicCenter, observez cette @@ -204,7 +282,7 @@ Le s (Merci Gatan et Daniel). \end{Idee} - + \end{figure} \begin{figure} \begin{DANGER}{Conflit d'extensions} @@ -214,14 +292,14 @@ Le s \end{figure} -\begin{figure} + \begin{DANGER}{Commandes cres} Huit nouvelles commandes sont cres~:~\verb+\tv, \tvbis, \nettoyer, \initablor, \Tableaux,+ \verb+ \dresse, \dressetoile, \executGiacmp+. Attention aux conflits si de tels noms existent quelque part dans vos fichiers personnels. \end{DANGER} - \end{figure} + @@ -233,15 +311,7 @@ Le s % %\end{DANGER} % \end{figure} - -\begin{figure} - \begin{DANGER}{La lettre W} - L'option \texttt{commandchars} de \texttt{fancyvrb} utilise la lettre W qui devient - ainsi ~protge~ et par suite inutilisable pour nommer une fonction. Tout autre - caractre hors alphabet posait soit des problmes d'encodage, soit tait utilis par XCAS... - \end{DANGER} - \end{figure} - +\pagebreak \section{Comment l'utiliser~?} @@ -257,8 +327,8 @@ Le pr \begin{lstlisting} \documentclass{article} \usepackage{graphicx} -\usepackage[french]{babel} -\usepackage[xcas]{tablor} % option modifiable +\usepackage[french]{babel} % or eunozer langouage +\usepackage[xcas]{tablor} % xcas en option : cf plus loin \end{lstlisting} @@ -279,13 +349,13 @@ Le pr On met \texttt{xcas} si l'on a install \texttt{giac/XCAS} sur son - ordinateur et on ne met rien si \texttt{giac/XCAS} n'est pas install et qu'on a rcupr un + ordinateur et on ne met rien si \texttt{giac/XCAS} n'est pas + install ou (et) que l'on a rcupr un fichier \texttt{tex} avec les fichiers sources \texttt{MetaPOST}; Ainsi, \texttt{tablor} ne fera - pas appel \texttt{giac/XCAS} et se contentera de compiler les fichiers \texttt{MetaPOST}; - + pas appel \texttt{giac/XCAS} et se contentera de compiler les fichiers \texttt{MetaPOST}. -\subsection{Fichier \texttt{tablor.cfg}} +\subsection{Fichier de configuration \texttt{tablor.cfg}} \subsubsection*{Contenu} @@ -316,35 +386,62 @@ On met \texttt{xcas} si l'on a install \newcommand{\editeur}{kile } -% Dclaration des fontes utilises -% ================================ -% -% Remplacez "lmodern" par la fonte qui vous convient pour les maths -% (fourier, mathpazo, etc.) - - -\newcommand{\fonte}{usepackage{lmodern}} - \end{lstlisting} } -\xcas + Vous le placerez dans la mme arborescence que \texttt{tablor.sty} et le modifierez si besoin est. -\subsubsection*{diteur} +\subsubsection*{Rle} 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}. -\subsubsection*{Fontes} -Les fontes utilises par dfaut sont celles de l'extension \texttt{fourier}. Pour en utiliser -d'autres, remplacez ~[upright]{fourier}~ par la fonte qui vous convient pour les maths -(lmodern, mathpazo, etc.) +Si vous utilisez \texttt{ Microsoft-Windows}, il faudra dcommenter la +ligne spcifie afin que les commandes \texttt{unix} soient remplaces +automatiquement par des commandes \texttt{dos}. + + + + + + +\subsection{Fichier de configuration \texttt{enteteMP.cfg}} + + +\subsubsection*{Contenu} + +\begin{lstlisting} + +input tableauVariation; +verbatimtex +%&latex +\documentclass{article} +\usepackage[upright]{fourier} % ou mathpazo, lmodern, etc. ou rien ! +\usepackage{amsmath} +\renewcommand\mbox[1]{ #1 } % pour les mbox intempestifs de xcas +\renewcommand\cdot{ } % idem pour les cdot +\begin{document} +etex + +\end{lstlisting} + + +Ces lignes se trouvent au dbut de \texttt{tablor.sty}, entre les +lignes 20 et 32~:~ vous les modifierez si besoin est. + +\subsubsection*{Rle} + +Il s'agit du prambule \texttt{tex} qui sera utilis par +\texttt{MetaPOST} pour crer les tableaux. La ligne contenant +l'extension des fontes est en particulier optionnelle~:~vous pouvez la +modifier, voire la supprimer selon vos choix de fontes. + \subsection{Initialisation de \texttt{tablor} et prfixe des tableaux}\label{prefix} @@ -393,7 +490,7 @@ ou bien, selon les cas~: \begin{lstlisting} \documentclass{article} \usepackage{graphicx} -\usepackage[french]{babel} +\usepackage[french]{babel} % or eunozer langouage \usepackage[xcas]{tablor} % options modifiables \begin{document} @@ -568,9 +665,9 @@ Voici un exemple comportant plusieurs zones in \begin{center} - \begin{TVZ*}{3001} + \begin{TVZ} TVZ([-infinity,+infinity],[-1,1,4,6],[[-1,1],[4,6]],"f","x",ln((x-5)^2-1)+ln(x^2-1),1,\tv) -\end{TVZ*} +\end{TVZ} \end{center} @@ -665,9 +762,9 @@ On en d -\begin{TVapp*}{201} +\begin{TVapp} TVapp([0,+infinity],[0],"g","x",ln(x)-x*exp(2-x),1,\tv) -\end{TVapp*} +\end{TVapp} \subsection{Tableaux de signes} @@ -883,7 +980,7 @@ automatiquement pour m'afficher le tableau voulu~: \begin{center} - \begin{TS*}{106} + \begin{TS*}{105} TS([3*x+2,5*x^2-1],[-50,50],\tv) \end{TS*} \end{center} @@ -909,11 +1006,29 @@ pas install \item \href{http://www.yvesdelhaye.be/?Generateur-d-interrogations-le}{Yves \textsc{Delhaye}} pour ses ides sur le \texttt{shell-escape} \item \href{http://www-fourier.ujf-grenoble.fr/\%7Eparisse/giac\_fr.html}{Bernard - \textsc{Parisse}} pour \texttt{XCAS}. + \textsc{Parisse}} pour \texttt{XCAS}; + +\item Jean-Michel \textsc{Boucart} pour ses prcieuses et efficaces + amliorations de la partie \LaTeX{} du code. + \end{itemize} +\section{Erreurs habituelles} + + +Avez-vous rendu possible le \texttt{shell-escape}~? Avez-vous install +toutes les extensions listes en dbut de ce document~? Est-ce que \texttt{XCAS} + est dans votre \texttt{PATH}~? + +La premire chose est d'analyser le fichier \texttt{log}. + +En cas de problme, n'hsitez pas me contacter l'adresse indique +sur mon site en joignant le fichier \texttt{log}. + + + \section{Galerie} Voici quelques exemples de tableaux~: @@ -1187,28 +1302,28 @@ TSc((x-10)*(x+10),[-10,10],\tv) \item Tableau 1 \Rep -\begin{TV*}{1001}M +\begin{TV} TV([-20,20],[],"f","x",3*x^3-5*x^2+2*x-7,0,\tv) -\end{TV*} +\end{TV} \item Tableau 2 \Rep -\begin{TV*}{1002} +\begin{TV} TV([-20,20],[],"f","x",-3*x^3+5*x^2-2*x+7,0,\tv) -\end{TV*} +\end{TV} \item Tableau 3 \Rep -\begin{TSc*}{1003} +\begin{TSc} TSc(-3*x^3+5*x^2-2*x+7,[-20,20],\tv) -\end{TSc*} +\end{TSc} \item Tableau 4 \Rep -\begin{TSc*}{1004} +\begin{TSc} TSc(3*x^3-5*x^2+2*x-7,[-20,20],\tv) -\end{TSc*} +\end{TSc} \end{enumerate} @@ -1254,28 +1369,28 @@ TSc((x-10)*(x+10),[-10,10],\tv) \item Tableau 1 \Rep -\begin{TV*}{102} +\begin{TV} TV([-20,20],[],"f","x",3*x^3-5*x^2+2*x-7,0,\tv) -\end{TV*} +\end{TV} \item Tableau 2 \Rep -\begin{TV*}{103} +\begin{TV} TV([-20,20],[],"f","x",-3*x^3+5*x^2-2*x+7,0,\tv) -\end{TV*} +\end{TV} \item Tableau 3 \Rep -\begin{TSc*}{104} +\begin{TSc} TSc(-3*x^3+5*x^2-2*x+7,[-20,20],\tv) -\end{TSc*} +\end{TSc} \item Tableau 4 \Rep -\begin{TSc*}{105} +\begin{TSc} TSc(3*x^3-5*x^2+2*x-7,[-20,20],\tv) -\end{TSc*} +\end{TSc} \end{enumerate} @@ -1290,16 +1405,16 @@ On consid tudions sa drive~: -\begin{TVIapp*}{202} +\begin{TVIapp} TVIapp([-infinity,+infinity],[],"f'","x",diff(1/2*(x+(1-x)*exp(2*x)),x),1,0,\tv) - \end{TVIapp*} + \end{TVIapp} On en dduit le tableau de variation de $f$ -\begin{TVapp*}{203} +\begin{TVapp} TVapp([-infinity,+infinity],[],"f","x",1/2*(x+(1-x)*exp(2*x)),1,\tv) - \end{TVapp*} + \end{TVapp} \end{lstlisting} On considre la fonction $f$ dfinie sur \textbf{R} par $f(x)=\frac{1}{2}\bigl(x+(1-x){\rm e}^{2x}\bigr)$ @@ -1307,16 +1422,16 @@ On consid tudions sa drive~: -\begin{TVIapp*}{202} +\begin{TVIapp} TVIapp([-infinity,+infinity],[],"f'","x",diff(1/2*(x+(1-x)*exp(2*x)),x),1,0,\tv) - \end{TVIapp*} + \end{TVIapp} On en dduit le tableau de variation de $f$ -\begin{TVapp*}{203} +\begin{TVapp} TVapp([-infinity,+infinity],[],"f","x",1/2*(x+(1-x)*exp(2*x)),1,\tv) - \end{TVapp*} + \end{TVapp} diff --git a/Master/texmf-dist/tex/latex/tablor/tablor.cfg b/Master/texmf-dist/tex/latex/tablor/tablor.cfg index 9565de82c81..ddb9ea4080c 100644 --- a/Master/texmf-dist/tex/latex/tablor/tablor.cfg +++ b/Master/texmf-dist/tex/latex/tablor/tablor.cfg @@ -23,13 +23,3 @@ \newcommand{\editeur}{kile } - -% Dclaration des fontes utilises -% ================================ -% -% Remplacez "fourier" par la fonte qui vous convient pour les maths -% (lmodern, mathpazo, etc.) - - -\newcommand{\fonte}{usepackage{fourier}} - diff --git a/Master/texmf-dist/tex/latex/tablor/tablor.sty b/Master/texmf-dist/tex/latex/tablor/tablor.sty index a62c439f72c..27edc93e6b5 100644 --- a/Master/texmf-dist/tex/latex/tablor/tablor.sty +++ b/Master/texmf-dist/tex/latex/tablor/tablor.sty @@ -1,12 +1,55 @@ - \NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{tablor}[14/05/2008 v2.05 la machine crer des tableaux de signes et variations] +\ProvidesPackage{tablor}[16/05/2008 v2.06 la machine crer des tableaux de signes et variations] % \copyleft Connan le Barbare \copyright % avec l'efficace participation de Jean-Michel Boucart -%% Cre 16 environnements : + +%%%%% +% +% enteteMP.cfg : configuration de l'entte MetaPOST +% modifier si besoin +% +%%%%% + +\RequirePackage{filecontents} + + + +\begin{filecontents*}{enteteMP.cfg} +input tableauVariation; +verbatimtex +%&latex +\documentclass{article} +\usepackage[upright]{fourier} % ou mathpazo, lmodern, etc. ou rien ! +\usepackage{amsmath} +\renewcommand\mbox[1]{ #1 } % pour les mbox intempestifs de xcas +\renewcommand\cdot{ } % idem pour les cdot +\begin{document} +etex +\end{filecontents*} + + + +%%%%% +% +% FIN de enteteMP.cfg +% +%%%%%% + + + + + + + + + + + + +%% Cre 16 environnements : %% tableau de signes de 2 facteurs affines % \begin{TSa} % TSa(-2,3,-1,5,\tv); @@ -34,25 +77,25 @@ % \end{TVZ} % % -% tableau avec valeurs intermdiares +% tableau avec valeurs intermdiares %\begin{TVI} %TVI([-1,+infinity],[-1],"f","x",x2/sqrt(x+1)-1,1,2,\tv) %\end{TVI} %%% -% tableau de variations avec f' sans zro formel +% tableau de variations avec f' sans zro formel %\begin{TVapp} % TVapp([0,+infinity],[0],"g","x",ln(x)-x*exp(2-x),1,\tv) % \end{TVapp} % % -% tableau de variations avec f' sans zro formel +% tableau de variations avec f' sans zro formel %\begin{TVIapp} % TVIapp([0,+infinity],[0],"g","x",ln(x)-x*exp(2-x),1,0,\tv) % \end{TVIapp} % % %%% -% et leurs pendants toils qui permet l'affichage intermdiaire du +% et leurs pendants toils qui permettent l'affichage intermdiaire du % fichier metapost pour le modifier % % @@ -63,7 +106,7 @@ %% extensions requises -%% Il faudra rajouter dans le prambule \usepackage{graphicx} si vous +%% Il faudra rajouter dans le prambule \usepackage{graphicx} si vous %% ne l'avez pas de base @@ -72,19 +115,29 @@ \RequirePackage{ifpdf} -% option xcas prsent - - -\newboolean{xcas}\setboolean{xcas}{false} -\DeclareOption{xcas}{\setboolean{xcas}{true}} %% Initialisation du choix d'OS \newboolean{windows}\setboolean{windows}{false} -%% on configure tablor dans un fichier extrieur pour la plateforme -%% et l'diteur +%% Dfinit des commandes disque selon l'OS utilis +\ifthenelse{\boolean{windows}}% + {\newcommand{\rem}{DEL } \newcommand{\cat}{TYPE } + \newcommand{\cp}{COPY }}% + {\newcommand{\rem}{rm }\newcommand{\cat}{cat } + \newcommand{\cp}{cp }} + + +% option xcas prsent + + +\newboolean{xcas}\setboolean{xcas}{false} +\DeclareOption{xcas}{\setboolean{xcas}{true}} + + +%% on configure tablor dans un fichier extrieur pour la plateforme +%% et l'diteur \IfFileExists{tablor.cfg}{\input{tablor.cfg}}%\typeout{pas de fichier tablor.cfg}} @@ -103,35 +156,20 @@ -%% En-tte pour le fichier metapost contenant les codes -%% de tous les tableaux produits - - \begin{VerbatimOut}[commandchars=?WW]{tete.mp} - input tableauVariation; - verbatimtex -%&latex - \documentclass{article} - \?fonte - \usepackage{amsmath} - \newcommand{\Mathbold}[1]{\mbox{\boldmath$#1$\unboldmath}} - \begin{document} - etex +%% Pour clore les fichiers metapost - \end{VerbatimOut} +\begin{VerbatimOut}{queue.mp} + +end + \end{VerbatimOut} -%% Nettoie les fichiers log dont le nom dpend du choix de l'utilisateur -%% Par dfaut, c'est le nom du fichier tex courant (\jobname) -%% Clt le fichier metapost contenant le rcapitulatif de tous les tableaux -%% Dfinit des commandes disque selon l'OS utilis -\ifthenelse{\boolean{windows}}% - {\newcommand{\rem}{DEL } \newcommand{\cat}{TYPE } - \newcommand{\cp}{COPY }}% - {\newcommand{\rem}{rm }\newcommand{\cat}{cat } - \newcommand{\cp}{cp }} +%% Nettoie les fichiers log dont le nom dpend du choix de l'utilisateur +%% Par dfaut, c'est le nom du fichier tex courant (\jobname) +%% Clt le fichier metapost contenant le rcapitulatif de tous les tableaux @@ -144,7 +182,7 @@ %% Donne comme prefixe aux tableaux le prefixe courant -%% Peut-tre modifi par \initablor +%% Peut-tre modifi par \initablor \newcommand{\Tableaux}{\jobname} @@ -158,25 +196,25 @@ -%% permet de donner un prefixe aux tableaux produits (\jobname par dfaut) -%% effectue quelques vrifications : +%% permet de donner un prefixe aux tableaux produits (\jobname par dfaut) +%% effectue quelques vrifications : \newcommand{\initablor}[1][\jobname]{% \renewcommand{\Tableaux}{#1}% Arret du nom des tableaux \setcounter{TVn}{0}% Initialisation du compteur de tableaux. \ifthenelse{\boolean{xcas}}% Avec l'option XCas -{\IfFileExists{\Tableaux.Tab.mp}% Si Tableaux.mp est prsent... - {\immediate\write18{\rem \Tableaux.Tab.mp}}% le dtruire +{\IfFileExists{\Tableaux.Tab.mp}% Si Tableaux.mp est prsent... + {\immediate\write18{\rem \Tableaux.Tab.mp}}% le dtruire {}% - \immediate\write18{\cp -f tete.mp \Tableaux.Tab.mp}% Reconstituer l'entte de Tableaux.mp + \immediate\write18{\cp -f enteteMP.cfg \Tableaux.Tab.mp}% Reconstituer l'entte de Tableaux.mp } {\IfFileExists{\Tableaux.Tab.mp}% Sans l'option XCas, si % Tableaux.mp existe -{\immediate\write18{mpost -interaction=batchmode \Tableaux.Tab}}% l'excuter pour reconstituer les figures +{\immediate\write18{mpost -interaction=batchmode \Tableaux.Tab}}% l'excuter pour reconstituer les figures {\PackageWarning{tablor}{Pas de source metapost pour creer les tableaux.}}% sinon message d'erreur % (mais pas d'arret car les tableaux - % peuvent tre prsents ) + % peuvent tre prsents ) }}% @@ -207,7 +245,7 @@ %% -\begin{VerbatimOut}[commandchars=?WW]{XcasTV.cxx} +\begin{VerbatimOut}{XcasTV.cxx} TV(L,F,nom,nomv,f,ftt,nmr):={ nl:=size(L); f:=unapply(f,x); @@ -252,7 +290,7 @@ lsf:=if(member(Z[nz-1],F)==0){""}else{"nomDefBarre; "} lm0:=limite(f(x),x=Z[0],1)==-infinity; li:=" -newLigneVariations(btex $\\hbox{\\bf Variations de }\\atop{\\displaystyle \\Mathbold{"+nom+"}}$ etex);"+ +newLigneVariations(btex $\\hbox{ Variations de }\\atop{\\displaystyle {"+nom+"}}$ etex);"+ if(member(Z[0],F)==0){"valPos(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"} else{"nonDefBarre;limDroite(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"}+ if(k0==1){"1"}else{"0"}+ @@ -276,64 +314,6 @@ lnz:=limite(f(x),x=Z[nz-1],-1)==-infinity; "}; -intro:="input tableauVariation; - verbatimtex -%&latex - \\documentclass{article} - \\?fonte - \\usepackage{amsmath} - \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} - \\begin{document} - etex; - -" - - -MetaL:=if(ftt==2){if(nz>2){intro+"beginTableau("+nmr+")"+ - l0+lsi+lsp+lsf+" -endTableau; -end -";}else{ -intro+"beginTableau("+nmr+")"+ - l0+ -lsi+lsf+" -endTableau; -end"; -} -}else{ if(ftt==0){if(nz>2){intro+"beginTableau("+nmr+")"+ - l0+ -li+ -lp+ -lf -+" -endTableau; -end";}else{intro+"beginTableau("+nmr+")"+ - l0+ -li+ -lf -+" -endTableau; -end";}}else{ -if(nz>2){intro+"beginTableau("+nmr+")"+ - l0+ -lsi+lsp+lsf+ -li+ -lp+ -lf -+" -endTableau; -end";}else{intro+"beginTableau("+nmr+")"+ - l0+ -lsi+lsf+ -li+ -lf -+" -endTableau; -end";} -}} - - - MetaLfc:=if(ftt==2){if(nz>2){" beginTableau("+nmr+")"+ @@ -390,7 +370,6 @@ fprint(sortie,Unquoted,MetaLfc); fclose(sortie); -return(MetaL); }:; \end{VerbatimOut} @@ -402,7 +381,7 @@ return(MetaL); %% par exemple, pour sqrt(x^2-1) : TVZ([-infinity,100],[],[[-1,1]],"f","x",sqrt(x^2-1),1,1) %% -\begin{VerbatimOut}[commandchars=?WW]{XcasTVZ.cxx} +\begin{VerbatimOut}{XcasTVZ.cxx} TVZ(L,F,FF,nom,nomv,f,ftt,nmr):={ @@ -491,7 +470,7 @@ lsf:=if(member(Z[0],IMAX)!=0){"finNonDef;"}else{if(member(Z[nz-1],F)==0){""}else lm0:=limite(f(x),x=Z[0],1)==-infinity; li:=" -newLigneVariations(btex $\\hbox{\\bf Variations de }\\atop{\\displaystyle \\Mathbold{"+nom+"}}$ etex);"+ +newLigneVariations(btex $\\hbox{ Variations de }\\atop{\\displaystyle {"+nom+"}}$ etex);"+ if(member(Z[0],F)==0){"valPos(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"} else{"nonDefBarre;limDroite(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"}+ if(k0==1){"1"}else{"0"}+ @@ -546,64 +525,6 @@ lnz:=limite(f(x),x=Z[nz-1],-1)==-infinity; "}; -intro:="input tableauVariation; - verbatimtex -%&latex - \\documentclass{article} - \\?fonte - \\usepackage{amsmath} - \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} - \\begin{document} - etex; - -" - - -MetaL:=if(ftt==2){if(nz>2){intro+"beginTableau("+nmr+")"+ - l0+lsi+lsp+lsf+" -endTableau; -end -";}else{ -intro+"beginTableau("+nmr+")"+ - l0+ -lsi+lsf+" -endTableau; -end"; -} -}else{ if(ftt==0){if(nz>2){intro+"beginTableau("+nmr+")"+ - l0+ -li+ -lp+ -lf -+" -endTableau; -end";}else{intro+"beginTableau("+nmr+")"+ - l0+ -li+ -lf -+" -endTableau; -end";}}else{ -if(nz>2){intro+"beginTableau("+nmr+")"+ - l0+ -lsi+lsp+lsf+ -li+ -lp+ -lf -+" -endTableau; -end";}else{intro+"beginTableau("+nmr+")"+ - l0+ -lsi+lsf+ -li+ -lf -+" -endTableau; -end";} -}} - - - MetaLfc:=if(ftt==2){if(nz>2){" beginTableau("+nmr+")"+ @@ -659,8 +580,6 @@ sortie:=fopen("XCasmpfc.mp"); fprint(sortie,Unquoted,MetaLfc); fclose(sortie); - -return(MetaL); } :; @@ -675,7 +594,7 @@ return(MetaL); -\begin{VerbatimOut}[commandchars=?WW]{XcasTVapp.cxx} +\begin{VerbatimOut}{XcasTVapp.cxx} @@ -746,7 +665,7 @@ lsf:=if(member(Z[nz-1],F)==0){""}else{"nomDefBarre; "} lm0:=limite(f(x),x=Z[0],1)==-infinity; li:=" -newLigneVariations(btex $\\hbox{\\bf Variations de }\\atop{\\displaystyle \\Mathbold{"+nom+"}}$ etex);"+ +newLigneVariations(btex $\\hbox{ Variations de }\\atop{\\displaystyle {"+nom+"}}$ etex);"+ if(member(Z[0],F)==0){"valPos(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"} else{"nonDefBarre;limDroite(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"}+ if(k0==1){"1"}else{"0"}+ @@ -768,61 +687,6 @@ lnz:=limite(f(x),x=Z[nz-1],-1)==-infinity; "}; -intro:="input tableauVariation; - verbatimtex -%&latex - \\documentclass{article} - \\?fonte - \\usepackage{amsmath} - \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} - \\begin{document} - etex; - -" - - -MetaL:=if(ftt==2){if(nz>2){intro+"beginTableau("+nmr+")"+ - l0+lsi+lsp+lsf+" -endTableau; -end -";}else{ -intro+"beginTableau("+nmr+")"+ - l0+ -lsi+lsf+" -endTableau; -end"; -} -}else{ if(ftt==0){if(nz>2){intro+"beginTableau("+nmr+")"+ - l0+ -li+ -lp+ -lf -+" -endTableau; -end";}else{intro+"beginTableau("+nmr+")"+ - l0+ -li+ -lf -+" -endTableau; -end";}}else{ -if(nz>2){intro+"beginTableau("+nmr+")"+ - l0+ -lsi+lsp+lsf+ -li+ -lp+ -lf -+" -endTableau; -end";}else{intro+"beginTableau("+nmr+")"+ - l0+ -lsi+lsf+ -li+ -lf -+" -endTableau; -end";} -}} @@ -882,7 +746,6 @@ fprint(sortie,Unquoted,MetaLfc); fclose(sortie); -return(MetaL); }:; @@ -901,14 +764,14 @@ return(MetaL); %% %% Code giac/Xcas pour les Tableaux de Variations avec -%% Valeurs intermdiaires +%% Valeurs intermdiaires %% -\begin{VerbatimOut}[commandchars=?WW]{XcasTVI.cxx} +\begin{VerbatimOut}{XcasTVI.cxx} TVI(L,F,nom,nomv,f,ftt,ao,nmr):={ @@ -996,7 +859,7 @@ lm0:=limite(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); li:=" -newLigneVariations(btex $\\hbox{\\bf Variations de }\\atop{\\displaystyle \\Mathbold{"+nom+"}}$ etex); +newLigneVariations(btex $\\hbox{ Variations de }\\atop{\\displaystyle {"+nom+"}}$ etex); "+ if(member(Z[0],F)==0){"valPos(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"} else{"nonDefBarre;limDroite(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"}+ if(k0==1){"1);"}else{"0);"}+if(TestS==0){"valPos(btex $ "+ao+" $ etex,0.5);"}else{" "}; @@ -1043,63 +906,6 @@ lnz:=limite(f(x),x=Z[nz-1],-1)==-infinity; -intro:=" -input tableauVariation; -verbatimtex -%&latex - \\documentclass{article} - \\?fonte - \\usepackage{amsmath} - \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} - \\begin{document} - etex; - -"; - - -MetaL:= if(ftt==2){if(nz>2){intro+"beginTableau("+nmr+")"+ - l0+lsi+lsp+lsf+" -endTableau; -end";}else{ -intro+"beginTableau("+nmr+")"+ - l0+ -lsi+lsf+" -endTableau; -end"; -} -}else{ -if(ftt==0){if(nz>2){intro+"beginTableau("+nmr+")"+ - l0+ -li+ -lp+ -lf -+" -endTableau; -end";}else{intro+"beginTableau("+nmr+")"+ - l0+ -li+ -lf -+" -endTableau; -end";}}else{ -if(nz>2){intro+"beginTableau("+nmr+")"+ - l0+ -lsi+lsp+lsf+ -li+ -lp+ -lf -+" -endTableau; -end";}else{intro+"beginTableau("+nmr+")"+ - l0+ -lsi+lsf+ -li+ -lf -+" -endTableau; -end";} -}}; - MetaLfc:= if(ftt==2){if(nz>2){"beginTableau("+nmr+")"+ l0+lsi+lsp+lsf+" @@ -1156,7 +962,6 @@ fprint(sortie,Unquoted,MetaLfc); fclose(sortie); -return(MetaL); }:; @@ -1177,7 +982,7 @@ return(MetaL); -\begin{VerbatimOut}[commandchars=?WW]{XcasTVIapp.cxx} +\begin{VerbatimOut}{XcasTVIapp.cxx} TVIapp(L,F,nom,nomv,f,ftt,ao,nmr):={ @@ -1286,7 +1091,7 @@ lm0:=limite(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); li:=" -newLigneVariations(btex $\\hbox{\\bf Variations de }\\atop{\\displaystyle \\Mathbold{"+nom+"}}$ etex); +newLigneVariations(btex $\\hbox{ Variations de}\\atop{\\displaystyle {"+nom+"}}$ etex); "+ if(member(Z[0],F)==0){"valPos(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"} else{"nonDefBarre;limDroite(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"}+ if(k0==1){"1);"}else{"0);"}+if(TestS==0){"valPos(btex $ "+ao+" $ etex,0.5);"}else{" "}; @@ -1333,63 +1138,6 @@ lnz:=limite(f(x),x=Z[nz-1],-1)==-infinity; -intro:=" -input tableauVariation; -verbatimtex -%&latex - \\documentclass{article} - \\?fonte - \\usepackage{amsmath} - \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} - \\begin{document} - etex; - -"; - - -MetaL:= if(ftt==2){if(nz>2){intro+"beginTableau("+nmr+")"+ - l0+lsi+lsp+lsf+" -endTableau; -end";}else{ -intro+"beginTableau("+nmr+")"+ - l0+ -lsi+lsf+" -endTableau; -end"; -} -}else{ -if(ftt==0){if(nz>2){intro+"beginTableau("+nmr+")"+ - l0+ -li+ -lp+ -lf -+" -endTableau; -end";}else{intro+"beginTableau("+nmr+")"+ - l0+ -li+ -lf -+" -endTableau; -end";}}else{ -if(nz>2){intro+"beginTableau("+nmr+")"+ - l0+ -lsi+lsp+lsf+ -li+ -lp+ -lf -+" -endTableau; -end";}else{intro+"beginTableau("+nmr+")"+ - l0+ -lsi+lsf+ -li+ -lf -+" -endTableau; -end";} -}}; - MetaLfc:= if(ftt==2){if(nz>2){"beginTableau("+nmr+")"+ l0+lsi+lsp+lsf+" @@ -1446,7 +1194,6 @@ fprint(sortie,Unquoted,MetaLfc); fclose(sortie); -return(MetaL); }:; @@ -1472,7 +1219,7 @@ return(MetaL); -\begin{VerbatimOut}[commandchars=?WW]{XcasTabSignL.cxx} +\begin{VerbatimOut}{XcasTabSignL.cxx} TS(L,D,nmr):={ @@ -1499,7 +1246,7 @@ nz:=size(Z); if(nz==0){li:="";l0:="val(btex $"+latex(D[0])+"$ etex);val(btex $"+latex(D[1])+"$ etex);"; for(p:=0;p<=n-1;p++){li:=li+" -newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(L[p](x))+"}}$ etex);"+ +newLigneSignes(btex $\\hbox{ Signe de }\\atop{\\displaystyle {"+latex(L[p](x))+"}}$ etex);"+ if(mini!=-infinity and L[p](mini)==0){" valBarre(btex 0 etex);"}else{" "}+ @@ -1510,37 +1257,12 @@ if(L[p]((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}+if(maxi!=+infinity and L[p](m } lf:=if(product(L[s]((mini+maxi)*.5),s,0,n-1)>0){"plus;"}else{"moins;"}; -MetaL:=" input tableauVariation; - verbatimtex -%&latex - \\documentclass{article} - \\?fonte - \\usepackage{amsmath} - \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} - \\begin{document} - etex; - -beginTableau("+nmr+") -newLigneVariables(btex $\\Mathbold{x}$ etex); - "+l0+li+ - " - newLigneSignes(btex $\\hbox{\\bf Signe du }\\atop{{\\bf produit}}$ etex);"+ - if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){" - valBarre(btex 0 etex);"}else{" - "}+ lf+ - if(maxi!=+infinity and product(L[s](maxi),s,0,n-1)==0){" - valBarre(btex 0 etex);"}else{" - "}+" -endTableau; -end" -; - MetaLfc:=" beginTableau("+nmr+") -newLigneVariables(btex $\\Mathbold{x}$ etex); +newLigneVariables(btex $ {x}$ etex); "+l0+li+ " - newLigneSignes(btex $\\hbox{\\bf Signe du }\\atop{{\\bf produit}}$ etex);"+ + newLigneSignes(btex $\\hbox{ Signe du }\\atop{{\\displaystyle produit}}$ etex);"+ if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){" valBarre(btex 0 etex);"}else{" "}+ lf+ @@ -1561,7 +1283,7 @@ l0:=l0+"val(btex $"+latex(D[1])+"$ etex);"; for(p:=0;p<=n-1;p++){lp:=""; li:=li+" -newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(L[p](x))+"}}$ etex);"+ +newLigneSignes(btex $\\hbox{ Signe de }\\atop{\\displaystyle {"+latex(L[p](x))+"}}$ etex);"+ if(mini!=-infinity and L[p](mini)==0){" valBarre(btex 0 etex);"}else{" "}+ @@ -1585,41 +1307,13 @@ 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 etex);" fpour -MetaL:=" input tableauVariation; - verbatimtex -%&latex - \\documentclass{article} - \\?fonte - \\usepackage{amsmath} - \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} - \\begin{document} - etex; - beginTableau("+nmr+") -newLigneVariables(btex $\\Mathbold{x}$ etex); - "+l0+ - li - + - " - newLigneSignes(btex $\\hbox{\\bf Signe du }\\atop{{\\bf produit}}$ etex);"+ - if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){" - valBarre(btex 0 etex);"}else{" - "}+ - if(product(L[s](Z[0]-0.01),s,0,n-1)>0){"plus;"}else{"moins;"}+"valBarre(btex 0 etex);"+ - lr+ - if(product(L[s](Z[nz-1]+0.01),s,0,n-1)>0){"plus;"}else{"moins;"}+ - if(maxi!=+infinity and product(L[s](maxi),s,0,n-1)==0){" - valBarre(btex 0 etex);"}else{" - "}+" -endTableau; -end" -; MetaLfc:=" beginTableau("+nmr+") -newLigneVariables(btex $\\Mathbold{x}$ etex); +newLigneVariables(btex $ {x}$ etex); "+l0+ li + " - newLigneSignes(btex $\\hbox{\\bf Signe du }\\atop{{\\bf produit}}$ etex);"+ + newLigneSignes(btex $\\hbox{ Signe du }\\atop{{\\displaystyle \\rm produit}}$ etex);"+ if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){" valBarre(btex 0 etex);"}else{" "}+ @@ -1636,7 +1330,7 @@ endTableau; sortie:=fopen("XCasmpfc.mp"); fprint(sortie,Unquoted,MetaLfc); fclose(sortie); -return(MetaL); + }:; \end{VerbatimOut} @@ -1650,7 +1344,7 @@ return(MetaL); -\begin{VerbatimOut}[commandchars=?WW]{XcasTabSignQ.cxx} +\begin{VerbatimOut}{XcasTabSignQ.cxx} TSq(nomf,L,Fo,D,nmr):={ L:=apply(f->unapply(f,x),L); Fo:=apply(f->unapply(f,x),Fo); @@ -1682,10 +1376,10 @@ fpour; -Z:=sort(Z); // on classe les zros dans l'ordre croissant +Z:=sort(Z); // on classe les zros dans l'ordre croissant 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 zros en double + si Z[u]==Z[u+1] alors Z:=Z[0..u-1],Z[u+1..nz-1];nz:=nz-1; // pour les zros en double fsi; fpour;} @@ -1700,7 +1394,7 @@ nz:=size(Z); if(nz==0){li:="";l0:="val(btex $"+latex(D[0])+"$ etex);val(btex $"+latex(D[1])+"$ etex);"; for(p:=0;p<=n-1;p++){li:=li+" -newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(L[p](x))+"}}$ etex);"+ +newLigneSignes(btex $\\hbox{ Signe de }\\atop{\\displaystyle {"+latex(L[p](x))+"}}$ etex);"+ if(mini!=-infinity and L[p](mini)==0){" valBarre(btex 0 etex);"}else{" "}+ @@ -1711,40 +1405,15 @@ if(L[p]((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}+if(maxi!=+infinity and L[p](m } lf:=if(product(L[s]((mini+maxi)*.5),s,0,n-1)>0){"plus;"}else{"moins;"}; -MetaL:=" input tableauVariation; - verbatimtex -%&latex - \\documentclass{article} - \\?fonte - \\usepackage{amsmath} - \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} - \\begin{document} - etex; - -beginTableau("+nmr+") -newLigneVariables(btex $\\Mathbold{x}$ etex); - "+l0+li+ - " - newLigneSignes(btex $\\hbox{\\bf Signe }\\atop{{\\bf de "+nomf+"(x)}}$ etex);"+ - if(member(mini,FF)==0){if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){" - valBarre(btex 0 etex);"}else{" - "}}else{"nonDefBarre;"}+ lf+ - if(member(maxi,FF)==0){if(maxi!=+infinity and product(L[s](maxi),s,0,n-1)==0){" - valBarre(btex 0 etex);"}else{" - "}}else{"nonDefBarre;"}+" -endTableau; -end" -; - MetaLfc:=" beginTableau("+nmr+") -newLigneVariables(btex $\\Mathbold{x}$ etex); +newLigneVariables(btex $ {x}$ etex); "+l0+li+ " - newLigneSignes(btex $\\hbox{\\bf Signe }\\atop{{\\bf de "+nomf+"(x)}}$ etex);"+ + newLigneSignes(btex $\\hbox{ Signe }\\atop{{\\displaystyle de "+nomf+"(x)}}$ etex);"+ if(member(mini,FF)==0){if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){" valBarre(btex 0 etex);"}else{" "}}else{"nonDefBarre;"}+ lf+ @@ -1770,7 +1439,7 @@ l0:=l0+"val(btex $"+latex(D[1])+"$ etex);"; for(p:=0;p<=n-1;p++){lp:=""; li:=li+" -newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(L[p](x))+"}}$ etex);"+ +newLigneSignes(btex $\\hbox{ Signe de }\\atop{\\displaystyle {"+latex(L[p](x))+"}}$ etex);"+ if(mini!=-infinity and L[p](mini)==0){" valBarre(btex 0 etex);"}else{" "}+ @@ -1795,46 +1464,17 @@ pour t de 0 jusque nz-2 faire if(member(Z[t+1],FF)==0){"valBarre(btex 0 etex);"}else{ "nonDefBarre;"} fpour -MetaL:=" input tableauVariation; -verbatimtex -%&latex - \\documentclass{article} - \\?fonte - \\usepackage{amsmath} - \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} - \\begin{document} - etex; - beginTableau("+nmr+") -newLigneVariables(btex $\\Mathbold{x}$ etex); - "+l0+ - li - + - " - newLigneSignes(btex $\\hbox{\\bf Signe de}\\atop{{\\bf "+nomf+"(x)}}$ etex);"+ - if(member(mini,FF)==0){if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){" - valBarre(btex 0 etex);"}else{" - "}}else{"nonDefBarre;"}+ - if(product(L[s](Z[0]-0.01),s,0,n-1)>0){"plus;"}else{"moins;"}+ - if(member(Z[0],FF)==0){"valBarre(btex 0 etex);"}else{ "nonDefBarre;"}+ - lr+ - if(product(L[s](Z[nz-1]+0.01),s,0,n-1)>0){"plus;"}else{"moins;"}+ - if(member(maxi,FF)==0){if(maxi!=+infinity and product(L[s](maxi),s,0,n-1)==0){" - valBarre(btex 0 etex);"}else{" "}}else{"nonDefBarre;"}+" -endTableau; -end" -; - MetaLfc:=" beginTableau("+nmr+") -newLigneVariables(btex $\\Mathbold{x}$ etex); +newLigneVariables(btex $ {x}$ etex); "+l0+ li + " - newLigneSignes(btex $\\hbox{\\bf Signe de}\\atop{{\\bf "+nomf+"(x)}}$ etex);"+ + newLigneSignes(btex $\\hbox{ Signe de}\\atop{{\\displaystyle "+nomf+"(x)}}$ etex);"+ if(member(mini,FF)==0){if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){" valBarre(btex 0 etex);"}else{" "}}else{"nonDefBarre;"}+ @@ -1862,7 +1502,6 @@ fclose(sortie); -return(MetaL); }:; \end{VerbatimOut} @@ -1877,27 +1516,19 @@ return(MetaL); -\begin{VerbatimOut}[commandchars=?WW]{XcasTabSign.cxx} +\begin{VerbatimOut}{XcasTabSigna.cxx} TSa(a,b,c,d,nmr):={ zA:=resoudre(a*x+b=0,x)[0]; zB:=resoudre(c*x+d=0,x)[0]; zmin:=min(zA,zB); zmax:=max(zA,zB); - Meta:= " input tableauVariation; - verbatimtex -%&latex - \\documentclass{article} - \\?fonte - \\usepackage{amsmath} - \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} - \\begin{document} - etex; + Meta:= " beginTableau("+nmr+") - newLigneVariables(btex $\\Mathbold{x}$ etex); + newLigneVariables(btex $ {x}$ etex); val(btex $-\\infty$ etex);val(btex $"+latex(zmin)+"$ etex); val(btex $"+latex(zmax)+"$etex); val(btex $+\\infty$ etex); - newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\displaystyle \\Mathbold{"+if(a==1){"x+"}else{if(a==-1){"-x+"}else{a+"x+"}}+b+"}}$ etex);" + newLigneSignes(btex $\\hbox{ Signe de }\\atop{\\displaystyle {"+if(a==1){"x+"}else{if(a==-1){"-x+"}else{a+"x+"}}+b+"}}$ etex);" + if(a>0){"moins;"}else{"plus;"}+ if(zmin==zA){"valBarre(btex 0 etex);"}else{"barre;"}+ if(zmin==zA){si a>0 alors "plus;"; sinon "moins;";fsi} @@ -1905,7 +1536,7 @@ val(btex $+\\infty$ etex); if(zmin==zA){"barre;"}else{"valBarre(btex 0 etex);"}+ if(a>0){"plus;"}else{"moins;"} +" -newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\displaystyle \\Mathbold{"+if(c==1){"x+"}else{if(c==-1){"-x+"}else{c+"x+"}}+d+"}}$ etex);" +newLigneSignes(btex $\\hbox{ Signe de }\\atop{\\displaystyle {"+if(c==1){"x+"}else{if(c==-1){"-x+"}else{c+"x+"}}+d+"}}$ 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;";fsi} @@ -1914,16 +1545,23 @@ newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\displaystyle \\Mathbold{"+if if(c>0){"plus;"}else{"moins;"} +" -newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\displaystyle \\Mathbold{("+if(a==1){"x+"}else{if(a==-1){"-x+"}else{a+"x+"}}+b+")("+if(c==1){"x+"}else{if(c==-1){"-x+"}else{c+"x+"}}+d+")}}$ etex);" +newLigneSignes(btex $\\hbox{ Signe de }\\atop{\\displaystyle {("+if(a==1){"x+"}else{if(a==-1){"-x+"}else{a+"x+"}}+b+")("+if(c==1){"x+"}else{if(c==-1){"-x+"}else{c+"x+"}}+d+")}}$ etex);" + si a*c>0 alors plus; sinon moins;fsi+";"+ "valBarre(btex 0 etex);"+ si a*c>0 alors moins; sinon plus;fsi+";"+ "valBarre(btex 0 etex);"+ si a*c>0 alors plus; sinon moins;fsi+";"+" endTableau; -end" +" ; -return(Meta); + + + +sortie:=fopen("XCasmpfc.mp"); +fprint(sortie,Unquoted,Meta); +fclose(sortie); + + }:; \end{VerbatimOut} @@ -1939,7 +1577,7 @@ return(Meta); -\begin{VerbatimOut}[commandchars=?WW]{XcasTSc.cxx} +\begin{VerbatimOut}{XcasTSc.cxx} TSc(g,D,nmr):={ f:=unapply(g,x); Z:=NULL; @@ -2000,32 +1638,14 @@ lf:=if(f(Z[nz-1]+1.0)>0){"plus;"}else{"moins;"}+if(maxi!=+infinity and f(maxi)== }}; -MetaL:=" input tableauVariation; - verbatimtex -%&latex - \\documentclass{article} - \\?fonte - \\usepackage{amsmath} - \\newcommand{\\Mathbold}[1]{\\mbox{\\boldmath$#1$\\unboldmath}} - \\begin{document} - etex; -beginTableau("+nmr+") -newLigneVariables(btex $\\Mathbold{x}$ etex); - "+l0+" -newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(f(x))+"}}$ etex);"+ - li+lm+lf - +" -endTableau; -end" -; MetaLfc:=" beginTableau("+nmr+") -newLigneVariables(btex $\\Mathbold{x}$ etex); +newLigneVariables(btex $\\displaystyle {x}$ etex); "+l0+" -newLigneSignes(btex $\\hbox{\\bf Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(f(x))+"}}$ etex);"+ +newLigneSignes(btex $\\hbox{ Signe de }\\atop{\\displaystyle {"+latex(f(x))+"}}$ etex);"+ li+lm+lf +" endTableau; @@ -2042,8 +1662,6 @@ fclose(sortie); - -return(MetaL); }:; \end{VerbatimOut} @@ -2064,13 +1682,17 @@ return(MetaL); \newcommand{\dresse}[1]{% -\ifthenelse{\boolean{xcas}}{% Avec l'option "XCas prsent" +\ifthenelse{\boolean{xcas}}{% Avec l'option "XCas prsent" \executGiacmp{XCas#1.giac}% reconstituer le tableau % exporter le source mp - % puis lancer metapost pour crer + % puis lancer metapost pour crer % l'image du tableau \immediate\write18{\cat XCasmpfc.mp >> \Tableaux.Tab.mp} - \immediate\write18{mpost -interaction=batchmode -jobname=\Tableaux.Tab XCasmp#1}}% + \immediate\write18{\cat enteteMP.cfg >> \Tableaux.Tab#1.mp} + \immediate\write18{\cat XCasmpfc.mp >> \Tableaux.Tab#1.mp} + \immediate\write18{\cat queue.mp >> \Tableaux.Tab#1.mp} + \immediate\write18{mpost -interaction=batchmode -jobname=\Tableaux.Tab \Tableaux.Tab#1} + \immediate\write18{\rem \Tableaux.Tab#1.mp} }% {% sinon, si le tableau est absent, alerte. \IfFileExists{\Tableaux.Tab.\theTVn}{}{% \PackageError{tablor}{Tableau absent non @@ -2085,8 +1707,8 @@ return(MetaL); %% -%% traitement des fichiers produits par giac/xcas avec possibilit -%% de modifier le fichier metapost (environnement toil)) +%% traitement des fichiers produits par giac/xcas avec possibilit +%% de modifier le fichier metapost (environnement toil)) %% @@ -2095,22 +1717,22 @@ return(MetaL); \IfFileExists{\Tableaux.Tab.\theTVn}{% Test sur l'existence du tableau % Si oui, inclusion du fichier source de sauvegarde mp dans Tableaux \immediate\write18{\cat TSav-\theTVn.mp >> \Tableaux.Tab.mp}} -% Si non, lancement des oprations de fabrication +% Si non, lancement des oprations de fabrication {\executGiacmp{XCas#1.giac}% \immediate\write18{\editeur XCasmpfc.mp} - % Modification avec l'diteur choisi + % Modification avec l'diteur choisi \immediate\write18{\cp -f XCasmpfc.mp TSav-\theTVn.mp} % Sauvegarde du % source mp sur le disque pour une - % inclusion ultrieure dans Tableaux.mp. + % inclusion ultrieure dans Tableaux.mp. \immediate\write18{\cat XCasmpfc.mp >> \Tableaux.Tab.mp}} % Inclusion du % source dans le % fichier % Tableaux \immediate\write18{mpost -interaction=batchmode \Tableaux.Tab}% Reconstitution des tableaux - % et cration du dernier. L'option + % et cration du dernier. L'option % pallie l'absence de end en fin de % fichier @@ -2131,33 +1753,24 @@ return(MetaL); %% %%% %%% -%%% les "giac" qui permettent d'excuter la commande rentre dans le fichier tex +%%% les "giac" qui permettent d'excuter la commande rentre dans le fichier tex %%% suivis des environnements qui permettront la saisie du code giac/xcas -%%% Les versions toiles permettent de modifier le code metapost produit initialement +%%% Les versions toiles permettent de modifier le code metapost produit initialement %%% -\begin{VerbatimOut}{XCas.giac} +\begin{VerbatimOut}{XCasa.giac} maple_mode(0); -read("XcasTabSign.cxx"); -Sortie:=fopen("XCasmp.mp"); -vect.xcas.user := read("XCas.user"); -vxo := vect.xcas.user; -dim.vxo := dim(vxo); -nbr.line.vxo := dim.vxo; -Resultat:=cat(" "); -rslt := vxo[0]; RslT:=cat(rslt); -Resultat:=cat(Resultat,RslT); -fprint(Sortie,Unquoted,Resultat); -fclose(Sortie); +read("XcasTabSigna.cxx"); +read("XCasa.user"); \end{VerbatimOut} \newenvironment{TSa} -{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCas.user}} +{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasa.user}} {\end{VerbatimOut} - \dresse{} + \dresse{a} } @@ -2171,20 +1784,11 @@ fclose(Sortie); \begin{VerbatimOut}{XCasQ.giac} maple_mode(0); read("XcasTabSignQ.cxx"); -Sortie:=fopen("XCasmpQ.mp"); -vect.xcas.user := read("XCasQ.user"); -vxo := vect.xcas.user; -dim.vxo := dim(vxo); -nbr.line.vxo := dim.vxo; -Resultat:=cat(" "); -rslt := vxo[0]; RslT:=cat(rslt); -Resultat:=cat(Resultat,RslT); -fprint(Sortie,Unquoted,Resultat); -fclose(Sortie); +read("XCasQ.user"); \end{VerbatimOut} \newenvironment{TSq}% -{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasQ.user}} +{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasQ.user}} {\end{VerbatimOut}\dresse{Q}} @@ -2192,50 +1796,32 @@ fclose(Sortie); \newenvironment{TSq*}[1]% {\setcounter{TVnbis}{\theTVn} \setcounter{TVn}{#1} -\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasQ.user}} +\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasQ.user}} {\end{VerbatimOut}\dressetoile{Q}} \begin{VerbatimOut}{XCasL.giac} maple_mode(0); read("XcasTabSignL.cxx"); -Sortie:=fopen("XCasmpL.mp"); -vect.xcas.user := read("XCasL.user"); -vxo := vect.xcas.user; -dim.vxo := dim(vxo); -nbr.line.vxo := dim.vxo; -Resultat:=cat(" "); -rslt := vxo[0]; RslT:=cat(rslt); -Resultat:=cat(Resultat,RslT); -fprint(Sortie,Unquoted,Resultat); -fclose(Sortie); +read("XCasL.user"); \end{VerbatimOut} \newenvironment{TS}% -{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasL.user}} +{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasL.user}} {\end{VerbatimOut}\dresse{L}} \newenvironment{TS*}[1] {\setcounter{TVnbis}{\theTVn} \setcounter{TVn}{#1} -\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasL.user}} +\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasL.user}} {\end{VerbatimOut}\dressetoile{L}} \begin{VerbatimOut}{XCasTSc.giac} maple_mode(0); read("XcasTSc.cxx"); -Sortie:=fopen("XCasmpTSc.mp"); -vect.xcas.user := read("XCasTSc.user"); -vxo := vect.xcas.user; -dim.vxo := dim(vxo); -nbr.line.vxo := dim.vxo; -Resultat:=cat(" "); -rslt := vxo[0]; RslT:=cat(rslt); -Resultat:=cat(Resultat,RslT); -fprint(Sortie,Unquoted,Resultat); -fclose(Sortie); +read("XCasTSc.user"); \end{VerbatimOut} @@ -2244,39 +1830,30 @@ fclose(Sortie); \newenvironment{TSc*}[1]% {\setcounter{TVnbis}{\theTVn} \setcounter{TVn}{#1} -\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasTSc.user}} +\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTSc.user}} {\end{VerbatimOut}\dressetoile{TSc}} \newenvironment{TSc}% -{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasTSc.user}} +{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTSc.user}} {\end{VerbatimOut}\dresse{TSc}} \begin{VerbatimOut}{XCasTV.giac} maple_mode(0); read("XcasTV.cxx"); -Sortie:=fopen("XCasmpTV.mp"); -vect.xcas.user := read("XCasTV.user"); -vxo := vect.xcas.user; -dim.vxo := dim(vxo); -nbr.line.vxo := dim.vxo; -Resultat:=cat(" "); -rslt := vxo[0]; RslT:=cat(rslt); -Resultat:=cat(Resultat,RslT); -fprint(Sortie,Unquoted,Resultat); -fclose(Sortie); +read("XCasTV.user"); \end{VerbatimOut} \newenvironment{TV}% -{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasTV.user}}% +{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTV.user}}% {\end{VerbatimOut} \dresse{TV}} \newenvironment{TV*}[1]{% \setcounter{TVnbis}{\theTVn} \setcounter{TVn}{#1} -\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasTV.user}}% +\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTV.user}}% {\end{VerbatimOut}\dressetoile{TV}} @@ -2292,27 +1869,18 @@ fclose(Sortie); \begin{VerbatimOut}{XCasTVZ.giac} maple_mode(0); read("XcasTVZ.cxx"); -Sortie:=fopen("XCasmpTVZ.mp"); -vect.xcas.user := read("XCasTVZ.user"); -vxo := vect.xcas.user; -dim.vxo := dim(vxo); -nbr.line.vxo := dim.vxo; -Resultat:=cat(" "); -rslt := vxo[0]; RslT:=cat(rslt); -Resultat:=cat(Resultat,RslT); -fprint(Sortie,Unquoted,Resultat); -fclose(Sortie); +read("XCasTVZ.user"); \end{VerbatimOut} \newenvironment{TVZ}% -{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasTVZ.user}}% +{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVZ.user}}% {\end{VerbatimOut} \dresse{TVZ}} \newenvironment{TVZ*}[1]{% \setcounter{TVnbis}{\theTVn} \setcounter{TVn}{#1} -\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasTVZ.user}}% +\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVZ.user}}% {\end{VerbatimOut}\dressetoile{TVZ}} @@ -2327,27 +1895,18 @@ fclose(Sortie); \begin{VerbatimOut}{XCasTVapp.giac} maple_mode(0); read("XcasTVapp.cxx"); -Sortie:=fopen("XCasmpTVapp.mp"); -vect.xcas.user := read("XCasTVapp.user"); -vxo := vect.xcas.user; -dim.vxo := dim(vxo); -nbr.line.vxo := dim.vxo; -Resultat:=cat(" "); -rslt := vxo[0]; RslT:=cat(rslt); -Resultat:=cat(Resultat,RslT); -fprint(Sortie,Unquoted,Resultat); -fclose(Sortie); +read("XCasTVapp.user"); \end{VerbatimOut} \newenvironment{TVapp}% -{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasTVapp.user}}% +{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVapp.user}}% {\end{VerbatimOut} \dresse{TVapp}} \newenvironment{TVapp*}[1]{% \setcounter{TVnbis}{\theTVn} \setcounter{TVn}{#1} -\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasTVapp.user}}% +\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVapp.user}}% {\end{VerbatimOut}\dressetoile{TVapp}} @@ -2363,27 +1922,18 @@ fclose(Sortie); \begin{VerbatimOut}{XCasTVI.giac} maple_mode(0); read("XcasTVI.cxx"); -Sortie:=fopen("XCasmpTVI.mp"); -vect.xcas.user := read("XCasTVI.user"); -vxo := vect.xcas.user; -dim.vxo := dim(vxo); -nbr.line.vxo := dim.vxo; -Resultat:=cat(" "); -rslt := vxo[0]; RslT:=cat(rslt); -Resultat:=cat(Resultat,RslT); -fprint(Sortie,Unquoted,Resultat); -fclose(Sortie); +read("XCasTVI.user"); \end{VerbatimOut} \newenvironment{TVI}% -{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasTVI.user}}% +{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVI.user}}% {\end{VerbatimOut}\dresse{TVI}} \newenvironment{TVI*}[1]% {\setcounter{TVnbis}{\theTVn} \setcounter{TVn}{#1} -\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasTVI.user}}% +\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVI.user}}% {\end{VerbatimOut}\dressetoile{TVI}} @@ -2394,27 +1944,18 @@ fclose(Sortie); \begin{VerbatimOut}{XCasTVIapp.giac} maple_mode(0); read("XcasTVIapp.cxx"); -Sortie:=fopen("XCasmpTVIapp.mp"); -vect.xcas.user := read("XCasTVIapp.user"); -vxo := vect.xcas.user; -dim.vxo := dim(vxo); -nbr.line.vxo := dim.vxo; -Resultat:=cat(" "); -rslt := vxo[0]; RslT:=cat(rslt); -Resultat:=cat(Resultat,RslT); -fprint(Sortie,Unquoted,Resultat); -fclose(Sortie); +read("XCasTVIapp.user"); \end{VerbatimOut} \newenvironment{TVIapp}% -{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasTVIapp.user}}% +{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVIapp.user}}% {\end{VerbatimOut}\dresse{TVIapp}} \newenvironment{TVIapp*}[1]% {\setcounter{TVnbis}{\theTVn} \setcounter{TVn}{#1} -\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\WW]{XCasTVIapp.user}}% +\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVIapp.user}}% {\end{VerbatimOut}\dressetoile{TVIapp}} -- cgit v1.2.3