From d3f329b902a5bddd7de2a1cd9e4b19ed34fb3994 Mon Sep 17 00:00:00 2001 From: Jeff LANCE Date: Sun, 19 Aug 2018 19:58:59 +0200 Subject: [PATCH] Update. --- commun/commun.sty | 23 +- cours/cours_beamer.cls | 6 +- pdftabvar/pdftabvar.tex | 567 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 591 insertions(+), 5 deletions(-) create mode 100644 pdftabvar/pdftabvar.tex diff --git a/commun/commun.sty b/commun/commun.sty index 139fe8c..a3df5ad 100644 --- a/commun/commun.sty +++ b/commun/commun.sty @@ -83,6 +83,7 @@ % texte \RequirePackage[dash,phantomtext]{dashundergaps} +\RequirePackage{comment} %----------------- \makeatletter @@ -90,7 +91,15 @@ -%-- NEW COMMANDS +%-- SETTINGS +\newboolean{display} +\ifthenelse{\boolean{display}}{\includecomment{solution}}{\excludecomment{solution}} +%----------- + + + + +% -- NEW COMMANDS %%% TABLEAU %%% % Commandes d'alignement du contenu dans la colonne de largeur . @@ -122,6 +131,16 @@ %%% TEXTE %%% +% \NewDocumentCommand \solution { s O{solution} g } { +% \IfBooleanTF {#1} +% { +% \setboolean{display}{true} +% } +% {} +% \begin{#2} +% \end{#2} +% } + %% \underdash[color]{text} %\newcommand\underdash[1][black]{% <- règle la couleur du texte % \bgroup @@ -193,7 +212,7 @@ \newfontfamily\PokemonHollow[Ligatures=TeX]{Pokemon Hollow} \newfontfamily\PokemonSolid[Ligatures=TeX]{Pokemon Solid} \newfontfamily\ScratchedLetters[Ligatures=TeX]{Scratched Letters} -\newfontfamily\TrebuchetMS[Ligatures=TeX]{Trebuchet MS} +% \newfontfamily\TrebuchetMS[Ligatures=TeX]{Trebuchet MS} % tentative pour une commande généraliste % \NewDocumentCommand \setFont { O{\familydefault} O{\encodingdefault} }{% % \fontencoding{#2}% diff --git a/cours/cours_beamer.cls b/cours/cours_beamer.cls index 28b8879..59941af 100644 --- a/cours/cours_beamer.cls +++ b/cours/cours_beamer.cls @@ -105,9 +105,9 @@ %%% ENUMERATE %%% -\setbeamerfont{enumerate item}{family=\rmfamily} -\setbeamercolor*{enumerate item}{fg=black} -\setbeamertemplate{enumerate item}{\textbf{\insertenumlabel.}} +\setbeamerfont{enumerate items}{family=\rmfamily} +\setbeamercolor*{enumerate items}{fg=black} +\setbeamertemplate{enumerate items}{\textbf{\insertenumlabel}.} %%%%%%%%%%%%%%%%% diff --git a/pdftabvar/pdftabvar.tex b/pdftabvar/pdftabvar.tex new file mode 100644 index 0000000..598ff3f --- /dev/null +++ b/pdftabvar/pdftabvar.tex @@ -0,0 +1,567 @@ +%-- d'après Macros tabvar créées par Denis Léger +%-- modification par Pascal Brachet +\unitlength=1pt +\newdimen\tempdimx +\newdimen\tempdimy +\definecolor{gristabvar}{rgb}{0.7669,0.7669,0.7669} +\newdimen\tabdim +\newdimen\tabblanc +\catcode`\@=11 +\newdimen\tv@mydimen +\newdimen\tv@mydimendeux +\newdimen\tv@dimYHaut +\newdimen\tv@dimYMilieu +\newdimen\tv@dimYBas +\newdimen\tv@dimX +\newdimen\tv@Xdim +\newdimen\tv@YTotal +\newcount\tv@countLigne +\newdimen\tv@DX +\tabdim=0.8cm +\tabblanc=2pt + +\def\vertline#1#2#3#4{% +\FPset{\xa}{#1} +\FPset{\ya}{#2} +\FPset{\xb}{#3} +\FPset{\yb}{#4} +\FPsub{\vecx}{\xb}{\xa} +\FPsub{\vecy}{\yb}{\ya} +\FPmul{\quada}{\vecx}{\vecx} +\FPmul{\quadb}{\vecy}{\vecy} +\FPadd{\sumquad}{\quada}{\quadb} +\FProot{\length}{\sumquad}{2} +\FPmul{\dx}{\vecx}{10} +\FPround{\dxe}{\dx} 0 +\FPmul{\dy}{\vecy}{10} +\FPround{\dye}{\dy} 0 +\FPifeq{\dye}{0} \dye=1 \else +\put(\xa,\ya){\line(0,\dye){\length}} +\fi +} + +\def\doublevertline#1#2#3#4{% +\FPset{\xa}{#1} +\FPset{\ya}{#2} +\FPset{\xb}{#3} +\FPset{\yb}{#4} +\FPsub{\vecx}{\xb}{\xa} +\FPsub{\vecy}{\yb}{\ya} +\FPmul{\quada}{\vecx}{\vecx} +\FPmul{\quadb}{\vecy}{\vecy} +\FPadd{\sumquad}{\quada}{\quadb} +\FProot{\length}{\sumquad}{2} +\FPmul{\dx}{\vecx}{10} +\FPround{\dxe}{\dx} 0 +\FPmul{\dy}{\vecy}{10} +\FPround{\dye}{\dy} 0 +\FPifeq{\dye}{0} \dye=1 \else +\FPsub{\fx}{\xa}{1} +\FPadd{\sx}{\xa}{1} +\put(\fx,\ya){\line(0,\dye){\length}} +\put(\sx,\ya){\line(0,\dye){\length}} +\fi +} + +\def\myarrowup#1#2#3#4{% +\FPset{\xa}{#1} +\FPset{\ya}{#2} +\FPset{\xb}{#3} +\FPset{\yb}{#4} +\FPsub{\vecx}{\xb}{\xa}% +\FPsub{\vecy}{\yb}{\ya}% +\FPmul{\quada}{\vecx}{\vecx}% +\FPmul{\quadb}{\vecy}{\vecy}% +\FPadd{\sumquad}{\quada}{\quadb}% +\FProot{\length}{\sumquad}{2}% +\FPmul{\dx}{\vecx}{10} +\FPround{\dxe}{\dx} 0 +\FPmul{\dy}{\vecy}{10} +\FPround{\dye}{\dy} 0 +\FPifeq{\dye}{0} \dye=1 \else +\put(\xa,\ya){\vector(\dxe,\dye){\vecx}} +\fi +} + +\def\myarrowdown#1#2#3#4{% +\FPset{\xa}{#1} +\FPset{\ya}{#2} +\FPset{\xb}{#3} +\FPset{\yb}{#4} +\FPsub{\vecx}{\xb}{\xa}% +\FPsub{\vecy}{\yb}{\ya}% +\FPmul{\quada}{\vecx}{\vecx}% +\FPmul{\quadb}{\vecy}{\vecy}% +\FPadd{\sumquad}{\quada}{\quadb}% +\FProot{\length}{\sumquad}{2}% +\FPmul{\dx}{\vecx}{10} +\FPround{\dxe}{\dx} 0 +\FPmul{\dy}{\vecy}{10} +\FPround{\dye}{\dy} 0 +\FPifeq{\dye}{0} \dye=1 \else +\put(\xa,\ya){\vector(\dxe,\dye){\vecx}} +\fi +} + +\def\hzarrow#1#2#3#4{% +\FPset{\xa}{#1} +\FPset{\ya}{#2} +\FPset{\xb}{#3} +\FPset{\yb}{#4} +\FPsub{\vecx}{\xb}{\xa} +\FPsub{\vecy}{\yb}{\ya} +\FPmul{\quada}{\vecx}{\vecx} +\FPmul{\quadb}{\vecy}{\vecy} +\FPadd{\sumquad}{\quada}{\quadb} +\FProot{\length}{\sumquad}{2} +\FPmul{\dx}{\vecx}{10} +\FPround{\dxe}{\dx} 0 +\FPmul{\dy}{\vecy}{10} +\FPround{\dye}{\dy} 0 +\FPifeq{\dxe}{0} \dxe=1 \else +\put(\xa,\ya){\vector(\dxe,0){\length}} +\fi +} + +\newif\iftv@calcul +\let\dsp=\displaystyle +\let\spt=\scriptstyle +\def\initY#1{% +\setbox100=\hbox{#1}% +\global\tv@mydimen=\ht100\global\advance\tv@mydimen by\dp100} +\def\initX#1{\setbox100=\hbox{#1}% +\ifdim\wd100>\tabdim + \global\tv@mydimen=\wd100 +\else + \global\tv@mydimen=\tabdim +\fi} +\def\initx#1{\setbox100=\hbox{#1}\global\tv@mydimen=\wd100} +\def\calculeYTotal{% + \global\tv@YTotal=\tv@dimYHaut\global\advance\tv@YTotal by\tv@dimYMilieu\global\advance\tv@YTotal by\tv@dimYBas} +\def\setY#1#2#3{\global\tv@dimYHaut=#1\global\tv@dimYMilieu=#2\global\tv@dimYBas=#3\relax} +\def\max#1#2{\ifdim#2>#1\global#1=#2\fi} +\def\GererX#1{% +\initX{#1}\tv@mydimen=1.1\tv@mydimen% +\max{\tv@Xdim}{\tv@mydimen}} +\def\GererXDimension#1{% +\tv@mydimen=#1% +\tv@mydimen=1.1\tv@mydimen% +\max{\tv@Xdim}{\tv@mydimen}% +\max{\tv@Xdim}{\tabdim}% +} +\def\GererDXSimple#1{% +\initX{#1}\tv@mydimen=1.1\tv@mydimen +\tv@mydimen=0.5\tv@mydimen +\max{\tv@DX}{\tv@mydimen}% +} +\def\GererDXDimension#1{% +\tv@mydimen=#1% +\max{\tv@DX}{\tv@mydimen}% +\max{\tv@DX}{0.5\tabdim}% +} + +\def\tabvarputhaut#1{% +\iftv@calcul + \initY{#1}% + \max{\tv@dimYHaut}{\tv@mydimen}% +\fi +\put(\dimexpr \tv@DX,\dimexpr -0.5\tv@dimYHaut){\makebox(0,0){#1}} +%\rput(\tv@DX,-0.5\tv@dimYHaut){#1} +} + +\def\tabvarputmilieu#1{% +\iftv@calcul + \initY{#1}% + \max{\tv@dimYMilieu}{\tv@mydimen}% +\fi% +\tv@mydimen=\tv@dimYHaut\advance\tv@mydimen by 0.5\tv@dimYMilieu +\put(\dimexpr \tv@DX,\dimexpr -1\tv@mydimen){\makebox(0,0){#1}} +%\rput(\tv@DX,-\tv@mydimen){#1} +} + +\def\tabvarputbas#1{% +\iftv@calcul + \initY{#1}% + \max{\tv@dimYBas}{\tv@mydimen}% +\fi% +\tv@mydimen=\tv@dimYHaut\advance\tv@mydimen by \tv@dimYMilieu\advance\tv@mydimen by 0.5\tv@dimYBas +\put(\tv@DX,-\tv@mydimen){\makebox(0,0){#1}} +%\rput(\tv@DX,-\tv@mydimen){#1} +} + +\def\traithaut{% +\vertline{\strip@pt \tv@DX}{0}{\strip@pt \tv@DX}{- \strip@pt \tv@dimYHaut} +%\psline(\tv@DX,0)(\tv@DX,-\tv@dimYHaut) +} + +\def\traitmilieu{\tv@mydimen=\tv@dimYHaut\advance\tv@mydimen by\tv@dimYMilieu% +%\psline(\tv@DX,-\tv@dimYHaut)(\tv@DX,-\tv@mydimen) +\vertline{\strip@pt \tv@DX}{- \strip@pt \tv@dimYHaut}{\strip@pt \tv@DX}{-\strip@pt \tv@mydimen} +} + +\def\traitbas{\tv@mydimen=\tv@dimYHaut\advance\tv@mydimen by\tv@dimYMilieu +\dimen100=\tv@mydimen\advance\tv@mydimen by\tv@dimYBas +%\psline(\tv@DX,-\dimen100)(\tv@DX,-\tv@mydimen) +\vertline{\strip@pt \tv@DX}{- \strip@pt \dimen100}{\strip@pt \tv@DX}{- \strip@pt \tv@mydimen} +} + +\def\doubletraithaut{ +%\psline[doubleline=true,doublesep=1pt](\tv@DX,0)(\tv@DX,-\tv@dimYHaut) +\doublevertline{\strip@pt \tv@DX}{0}{\strip@pt \tv@DX}{- \strip@pt \tv@dimYHaut} +} + +\def\doubletraitmilieu{\tv@mydimen=\tv@dimYHaut\advance\tv@mydimen by\tv@dimYMilieu +%\psline[doubleline=true,doublesep=1pt](\tv@DX,-\tv@dimYHaut)(\tv@DX,-\tv@mydimen) +\doublevertline{\strip@pt \tv@DX}{- \strip@pt \tv@dimYHaut}{\strip@pt \tv@DX}{-\strip@pt \tv@mydimen} +} + +\def\doubletraitbas{\tv@mydimen=\tv@dimYHaut\advance\tv@mydimen by\tv@dimYMilieu +\dimen100=\tv@mydimen\advance\tv@mydimen by\tv@dimYBas +%\psline[doubleline=true,doublesep=1pt](\tv@DX,-\dimen100)(\tv@DX,-\tv@mydimen) +\doublevertline{\strip@pt \tv@DX}{- \strip@pt \dimen100}{\strip@pt \tv@DX}{- \strip@pt \tv@mydimen} +} + +\def\trait{\traithaut\traitmilieu\traitbas} + +\def\dbt{\doubletraithaut\doubletraitmilieu\doubletraitbas} + +\def\fm{% +\iftv@calcul + \GererXDimension{\tabdim}% + \GererDXDimension{0.5\tabdim}% +\fi +\tv@mydimen=\tv@dimYHaut\advance\tv@mydimen by\tv@dimYMilieu +\tv@dimX=\tv@Xdim\advance\tv@dimX by -\tv@DX % +\tempdimx=0.9\tv@DX +%\hbox to\tv@Xdim{\rput(\tv@DX,0){\psline{->}(-0.9\tv@DX,-\tv@mydimen)(0.9\tv@dimX,-\tv@dimYHaut)}\hfil} +\hbox to\tv@Xdim{\put(\dimexpr \tv@DX,0){\myarrowup{- \strip@pt \tempdimx}{- \strip@pt \tv@mydimen}{ \strip@pt \tempdimx}{- \strip@pt \tv@dimYHaut}}\hfil} +} + +\def\fd{% +\iftv@calcul + \GererXDimension{\tabdim}% + \GererDXDimension{0.5\tabdim}% +\fi +\tv@mydimen=\tv@dimYHaut\advance\tv@mydimen by\tv@dimYMilieu +\tv@dimX=\tv@Xdim\advance\tv@dimX by -\tv@DX % +\tempdimx=0.9\tv@DX +%\hbox to\tv@Xdim{\rput(\tv@DX,0){\psline{->}(-0.9\tv@DX,-\tv@dimYHaut)(0.9\tv@dimX,-\tv@mydimen)}\hfil} +\hbox to\tv@Xdim{\put(\dimexpr \tv@DX,0){\myarrowdown{- \strip@pt \tempdimx}{- \strip@pt \tv@dimYHaut}{ \strip@pt \tempdimx}{- \strip@pt \tv@mydimen}}\hfil} +} + +\def\fhh{% +\iftv@calcul + \GererXDimension{\tabdim}% + \GererDXDimension{0.5\tabdim}% +\fi +\tv@dimX=\tv@Xdim\advance\tv@dimX by -\tv@DX % +\tempdimx=0.9\tv@DX +\tempdimy=0.5\tv@dimYHaut +%\hbox to\tv@Xdim{\rput(\tv@DX,0){\psline{->}(-0.9\tv@DX,-0.5\tv@dimYHaut)(0.9\tv@dimX,-0.5\tv@dimYHaut)}\hfil} +\hbox to\tv@Xdim{\put(\dimexpr \tv@DX,0){\hzarrow{- \strip@pt \tempdimx}{- \strip@pt \tempdimy}{ \strip@pt \tempdimx}{- \strip@pt \tempdimy}}\hfil} +} + +\def\fhm{% +\iftv@calcul + \GererXDimension{\tabdim}% + \GererDXDimension{0.5\tabdim}% +\fi +\tv@mydimen=\tv@dimYHaut\advance\tv@mydimen by 0.5\tv@dimYMilieu +\tv@dimX=\tv@Xdim\advance\tv@dimX by -\tv@DX +\tempdimx=0.9\tv@DX +%\hbox to\tv@Xdim{\rput(\tv@DX,0){\psline{->}(-0.9\tv@DX,-\tv@mydimen)(0.9\tv@dimX,-\tv@mydimen)}\hfil} +\hbox to\tv@Xdim{\put(\dimexpr \tv@DX,0){\hzarrow{- \strip@pt \tempdimx}{- \strip@pt \tv@mydimen}{ \strip@pt \tempdimx}{- \strip@pt \tv@mydimen}}\hfil} +} + +\def\fhb{% +\iftv@calcul + \GererXDimension{\tabdim}% + \GererDXDimension{0.5\tabdim}% +\fi +\tv@mydimen=\tv@dimYHaut\advance\tv@mydimen by\tv@dimYMilieu\advance\tv@mydimen by0.5\tv@dimYBas +\tv@dimX=\tv@Xdim\advance\tv@dimX by -\tv@DX % +\tempdimx=0.9\tv@DX +%\hbox to\tv@Xdim{\rput(\tv@DX,0){\psline{->}(-0.9\tv@DX,-\tv@mydimen)(0.9\tv@dimX,-\tv@mydimen)}\hfil} +\hbox to\tv@Xdim{\put(\dimexpr \tv@DX,0){\hzarrow{- \strip@pt \tempdimx}{- \strip@pt \tv@mydimen}{ \strip@pt \tempdimx}{- \strip@pt \tv@mydimen}}\hfil} +} + +\def\fmb{% +\iftv@calcul + \GererXDimension{\tabdim}% + \GererDXDimension{0.5\tabdim}% +\fi +\tv@mydimen=\tv@dimYHaut\advance\tv@mydimen by\tv@dimYMilieu\advance\tv@mydimen by 0.5\tv@dimYBas +\tv@mydimendeux=\tv@dimYHaut\advance\tv@mydimendeux by 0.5\tv@dimYMilieu +\tv@dimX=\tv@Xdim\advance\tv@dimX by -\tv@DX % +\tempdimx=0.9\tv@DX +%\hbox to\tv@Xdim{\rput(\tv@DX,0){\psline{->}(-0.9\tv@DX,-\tv@mydimen)(0.9\tv@dimX,-\tv@mydimendeux)}\hfil} +\hbox to\tv@Xdim{\put(\dimexpr \tv@DX,0){\myarrowup{- \strip@pt \tempdimx}{- \strip@pt \tv@mydimen}{ \strip@pt \tempdimx}{- \strip@pt \tv@mydimendeux}}\hfil} +} + +\def\fdb{% +\iftv@calcul + \GererXDimension{\tabdim}% + \GererDXDimension{0.5\tabdim}% +\fi +\tv@mydimen=\tv@dimYHaut\advance\tv@mydimen by\tv@dimYMilieu\advance\tv@mydimen by 0.5\tv@dimYBas +\tv@mydimendeux=\tv@dimYHaut\advance\tv@mydimendeux by 0.5\tv@dimYMilieu +\tv@dimX=\tv@Xdim\advance\tv@dimX by -\tv@DX % +\tempdimx=0.9\tv@DX +%\hbox to\tv@Xdim{\rput(\tv@DX,0){\psline{->}(-0.9\tv@DX,-\tv@mydimendeux)(0.9\tv@dimX,-\tv@mydimen)}\hfil} +\hbox to\tv@Xdim{\put(\dimexpr \tv@DX,0){\myarrowup{- \strip@pt \tempdimx}{- \strip@pt \tv@mydimendeux}{ \strip@pt \tempdimx}{- \strip@pt \tv@mydimen}}\hfil} +} + +\def\fmh{% +\iftv@calcul + \GererXDimension{\tabdim}% + \GererDXDimension{0.5\tabdim}% +\fi +\tv@mydimen=0.5\tv@dimYHaut\tv@mydimendeux=\tv@dimYHaut\advance\tv@mydimendeux by 0.5\tv@dimYMilieu +\tv@dimX=\tv@Xdim\advance\tv@dimX by -\tv@DX % +\tempdimx=0.9\tv@DX +%\hbox to\tv@Xdim{\rput(\tv@DX,0){\psline{->}(-0.9\tv@DX,-\tv@mydimendeux)(0.9\tv@dimX,-\tv@mydimen)}\hfil} +\hbox to\tv@Xdim{\put(\dimexpr \tv@DX,0){\myarrowup{- \strip@pt \tempdimx}{- \strip@pt \tv@mydimendeux}{ \strip@pt \tempdimx}{- \strip@pt \tv@mydimen}}\hfil} +} + +\def\fdh{% +\iftv@calcul + \GererXDimension{\tabdim}% + \GererDXDimension{0.5\tabdim}% +\fi +\tv@mydimen=0.5\tv@dimYHaut\tv@mydimendeux=\tv@dimYHaut\advance\tv@mydimendeux by 0.5\tv@dimYMilieu +\tv@dimX=\tv@Xdim\advance\tv@dimX by -\tv@DX % +\tempdimx=0.9\tv@DX +%\hbox to\tv@Xdim{\rput(\tv@DX,0){\psline{->}(-0.9\tv@DX,-\tv@mydimen)(0.9\tv@dimX,-\tv@mydimendeux)}\hfil} +\hbox to\tv@Xdim{\put(\dimexpr \tv@DX,0){\myarrowup{- \strip@pt \tempdimx}{- \strip@pt \tv@mydimen}{ \strip@pt \tempdimx}{- \strip@pt \tv@mydimendeux}}\hfil} +} + +\def\tx#1{% +\iftv@calcul + \GererX{$\dsp#1$}% + \GererDXSimple{$\dsp#1$}% +\fi +\hbox to \tv@Xdim{\tabvarputmilieu{$\dsp #1$}\hfil}% +} +\def\txh#1{% +\iftv@calcul + \GererX{$\dsp#1$}% + \GererDXSimple{$\dsp#1$}% +\fi +\hbox to\tv@Xdim{\tabvarputhaut{$\dsp #1$}\hfil}% +} +\def\txb#1{% +\iftv@calcul + \GererX{$\dsp#1$}% + \GererDXSimple{$\dsp#1$}% +\fi +\hbox to\tv@Xdim{\tabvarputbas{$\dsp#1$}\hfil}% +} +\def\txt#1{% +\iftv@calcul + \GererX{$\dsp#1$}% + \GererDXSimple{$\dsp#1$}% +\fi +\hbox to\tv@Xdim{\traithaut\tabvarputmilieu{$\dsp #1$}\traitbas\hfil}% +} +\def\txht#1{% +\iftv@calcul + \GererX{$\dsp#1$}% + \GererDXSimple{$\dsp#1$}% +\fi +\hbox to\tv@Xdim{\tabvarputhaut{$\dsp #1$}\traitmilieu\traitbas\hfil}% +} +\def\txbt#1{% +\iftv@calcul + \GererX{$\dsp#1$}% + \GererDXSimple{$\dsp#1$}% +\fi +\hbox to\tv@Xdim{\traithaut\traitmilieu\tabvarputbas{$\dsp #1$}\hfil}% +} +\def\xt#1{% +\iftv@calcul + \GererX{$\dsp#1$}% + \GererDXSimple{$\dsp#1$}% +\fi +\hbox to\tv@Xdim{\tabvarputmilieu{$\dsp#1$}\traitbas\hfil}% +} +\def\xdbt#1{% +\iftv@calcul + \GererX{$\dsp#1$}% + \GererDXSimple{$\dsp#1$}% +\fi +\hbox to\tv@Xdim{\tabvarputmilieu{$\dsp#1$}\doubletraitbas\hfil}% +} +\def\txdbthb#1#2{% +\iftv@calcul + \initY{$\dsp #1$}\max{\tv@dimYHaut}{\tv@mydimen}% + \initY{$\dsp #2$}\max{\tv@dimYBas}{\tv@mydimen}% + \initx{$\dsp#1$}\advance\tv@mydimen by 3 pt\relax + \GererDXDimension{\tv@mydimen}% + \initx{$\dsp#1$}\max{\tv@mydimen}{\tv@DX}% + \global\advance\tv@mydimen by 3pt\global\tv@dimX=\tv@mydimen + \initx{$\dsp#2$}\global\advance\tv@mydimen by\tv@dimX + \GererXDimension{\tv@mydimen}% +\fi% +\tempdimy=-0.5\tv@dimYHaut +\hbox to\tv@Xdim{% +\put(\tv@DX,0){\put(-3pt,\dimexpr \tempdimy){\makebox[0pt][r]{$\dsp#1$}}} +%\rput[r](\tv@DX,0){\rput[r](-3pt,-0.5\tv@dimYHaut){$\dsp#1$}}% +% +\dbt + % + \tv@mydimen=\tv@dimYHaut\advance\tv@mydimen by \tv@dimYMilieu\advance\tv@mydimen by 0.5\tv@dimYBas + \put(\tv@DX,0){\put(3pt,-\tv@mydimen){\makebox[0pt][l]{$\dsp#1$}}} + %\rput[l](\tv@DX,0){\rput[l](3pt,-\tv@mydimen){$\dsp #2$}}% + \hfil}% +} +\def\txdbthh#1#2{% +\iftv@calcul + \initY{$\dsp #1$}\max{\tv@dimYHaut}{\tv@mydimen}% + \initY{$\dsp #2$}\max{\tv@dimYHaut}{\tv@mydimen}% + \initx{$\dsp#1$}\advance\tv@mydimen by 3 pt\relax + \GererDXDimension{\tv@mydimen}% + \initx{$\dsp#1$}\max{\tv@mydimen}{\tv@DX}% + \global\advance\tv@mydimen by 3pt\global\tv@dimX=\tv@mydimen + \initx{$\dsp#2$}\global\advance\tv@mydimen by\tv@dimX + \GererXDimension{\tv@mydimen}% +\fi% +\tempdimy=-0.5\tv@dimYHaut +\hbox to\tv@Xdim{% +\put(\tv@DX,0){\put(-3pt,\tempdimy){\makebox[0pt][r]{$\dsp#1$}}} + %\rput[r](\tv@DX,0){\rput[r](-3pt,-0.5\tv@dimYHaut){$\dsp#1$}}% + % +\dbt + % + \put(\tv@DX,0){\put(3pt,\tempdimy){\makebox[0pt][l]{$\dsp#1$}}} + %\rput[l](\tv@DX,0){\rput[l](3pt,-0.5\tv@dimYHaut){$\dsp #2$}} + \hfil}% +}% +\def\txdbtbh#1#2{% +\iftv@calcul + \initY{$\dsp #1$}\max\tv@dimYBas\tv@mydimen% + \initY{$\dsp #2$}\max\tv@dimYHaut\tv@mydimen% + \initx{$\dsp#1$}\advance\tv@mydimen by 3 pt\relax + \GererDXDimension{\tv@mydimen}% + \initx{$\dsp#1$}\max{\tv@mydimen}{\tv@DX}% + \global\advance\tv@mydimen by 3pt\global\tv@dimX=\tv@mydimen + \initx{$\dsp#2$}\global\advance\tv@mydimen by\tv@dimX + \GererXDimension{\tv@mydimen}% +\fi% +\tempdimy=-0.5\tv@dimYHaut +\hbox to\tv@Xdim{% + \tv@mydimen=\tv@dimYHaut\advance\tv@mydimen by \tv@dimYMilieu\advance\tv@mydimen by 0.5\tv@dimYBas + \put(\tv@DX,0){\put(-3pt,-\tv@mydimen){\makebox[0pt][r]{$\dsp#1$}}} + %\rput[r](\tv@DX,0){\rput[r](-3pt,-\tv@mydimen){$\dsp#1$}}% + % +\dbt + % + \put(\tv@DX,0){\put(3pt,\tempdimy){\makebox[0pt][l]{$\dsp#1$}}} + %\rput[l](\tv@DX,0){\rput[l](3pt,-0.5\tv@dimYHaut){$\dsp #2$}} + \hfil}% +}% +\def\txdbtbb#1#2{% +\iftv@calcul% + \initY{$\dsp #1$}\max{\tv@dimYBas}{\tv@mydimen}% + \initY{$\dsp #2$}\max{\tv@dimYBas}{\tv@mydimen}% + \initx{$\dsp#1$}\advance\tv@mydimen by 3 pt% + \GererDXDimension{\tv@mydimen}% + \initx{$\dsp#1$}\max{\tv@mydimen}{0.90909\tv@DX}% + \global\advance\tv@mydimen by 3pt\global\tv@dimX=\tv@mydimen% + \initx{$\dsp#2$}\global\advance\tv@mydimen by\tv@dimX% + \GererXDimension{\tv@mydimen}% +\fi% +\hbox to\tv@Xdim{% + \tv@mydimen=\tv@dimYHaut\advance\tv@mydimen by\tv@dimYMilieu\advance\tv@mydimen by 0.5\tv@dimYBas\relax% + \put(\tv@DX,0){\put(-3pt,-\tv@mydimen){\makebox[0pt][r]{$\dsp#1$}}} + %\rput[r](\tv@DX,0){\rput[r](-3pt,-\tv@mydimen){$\dsp#1$}}% + % +\dbt + % + \tv@mydimen=\tv@dimYHaut\advance\tv@mydimen by\tv@dimYMilieu\advance\tv@mydimen by 0.5\tv@dimYBas\relax + \put(\tv@DX, 0){\put(3pt,-\tv@mydimen){\makebox[0pt][l]{$\dsp#1$}}} + %\rput[l](\tv@DX,0){\rput[l](3pt,-\tv@mydimen){$\dsp #2$}}% + \hfil}% +}% +\def\grise{% +\iftv@calcul + \GererXDimension{\tabdim}% + \GererDXDimension{0.5\tabdim}% +\fi% +\hbox to\tv@Xdim{\put(0,\dimexpr -\tv@YTotal){\colorbox{gristabvar}{\makebox(\tv@Xdim,\tv@YTotal){}}}\hfil} +%\hbox to\tv@Xdim{\psframe[linecolor=gristabvar,fillstyle=solid,fillcolor=gristabvar](0,0)(\tv@Xdim,-\tv@YTotal)\hfil} +} +\toksdef\ta=0 \toksdef\tb=2 +\long\def\rightappenditem#1\to#2{\ta={\\{#1}}\tb=\expandafter{#2}% + \xdef#2{\the\tb\the\ta}} +\long\def\leftappenditem#1\to#2{\ta={\\{#1}}\tb=\expandafter{#2}% +\xdef#2{\the\ta\the\tb}} +\def\lop#1\to#2{\expandafter\lopoff#1\lopoff#1#2} +\long\def\lopoff\\#1#2\lopoff#3#4{\gdef#4{#1}\gdef#3{#2}} +\def\clearListes{\gdef\listeY{}\gdef\listeX{}\gdef\listeDX{}} +\def\savedimsY{% + \expandafter\rightappenditem\the\tv@dimYHaut\to\listeY + \expandafter\rightappenditem\the\tv@dimYMilieu\to\listeY + \expandafter\rightappenditem\the\tv@dimYBas\to\listeY} +\def\litY{% + \lop\listeY\to\a \tv@dimYHaut=\a + \lop\listeY\to\a \tv@dimYMilieu=\a + \lop\listeY\to\a \tv@dimYBas=\a + \global\advance\tv@dimYHaut by 2\tabblanc + \global\advance\tv@dimYMilieu by 2\tabblanc + \global\advance\tv@dimYBas by 2\tabblanc + \calculeYTotal} +\def\ajouteX#1{% + \expandafter\rightappenditem\the #1\to\listeX} +\def\ajouteXAGauche#1{% + \expandafter\leftappenditem\the #1\to\listeX} +\def\extraitX{\lop\listeX\to\a\tv@Xdim=\a} +\def\ajouteDX#1{% + \expandafter\rightappenditem\the #1\to\listeDX} +\def\ajouteDXAGauche#1{% + \expandafter\leftappenditem\the #1\to\listeDX} +\def\extraitDX{\lop\listeDX\to\a\tv@DX=\a} +\def\initListeXListeDX#1{% +\global\tv@countLigne=0 +\setbox150=\vbox{\halign{% +\global\advance\tv@countLigne by 1 +\ifnum\tv@countLigne=1 + \tv@mydimen=0pt + \ajouteXAGauche{\tv@mydimen}% + \ajouteDXAGauche{\tv@mydimen}% +\fi +##\hfil\vrule&&% +\hfil +\ifnum\tv@countLigne=1 + \tv@mydimen=0pt + \ajouteXAGauche{\tv@mydimen}% + \ajouteDXAGauche{\tv@mydimen}% +\fi +##\hfil\cr% +#1}}} +\def\TABVAR#1{% +\vbox{\vglue\smallskipamount\nobreak% +{\offinterlineskip\everycr{\noalign{\hrule}}% +\iftv@calcul +\else + \litY +\fi% +\hbox{\vrule\vbox{\halign{% +\iftv@calcul + \savedimsY + \setY{0pt}{0pt}{0pt}% +\else + \litY% +\fi +\vrule height 0pt depth \tv@YTotal width 0pt\extraitX\extraitDX##\ajouteX{\tv@Xdim}\ajouteDX{\tv@DX}% +\vrule&&% +\extraitX\extraitDX##\ajouteX{\tv@Xdim}\ajouteDX{\tv@DX}\cr% +#1}}\vrule}} +\iftv@calcul + \savedimsY% +\fi +\medbreak% +}} +\def\tabvar#1{{\clearListes\initListeXListeDX{#1}\tv@calcultrue% +\setbox150=\hbox{\TABVAR{#1}}\tv@calculfalse\TABVAR{#1}}} +\catcode`\@=12 +%-- Fin Macros tabvar