From 567c36581644016f7e7383d0256d99117e80761d Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 28 Feb 2011 00:52:20 +0000 Subject: tkz-tab update git-svn-id: svn://tug.org/texlive/trunk@21542 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/tkz-tab/tkz-tab.sty | 482 ++++++++++++++++-------- 1 file changed, 322 insertions(+), 160 deletions(-) (limited to 'Master/texmf-dist/tex/latex') diff --git a/Master/texmf-dist/tex/latex/tkz-tab/tkz-tab.sty b/Master/texmf-dist/tex/latex/tkz-tab/tkz-tab.sty index 76522585e38..47eb933d973 100644 --- a/Master/texmf-dist/tex/latex/tkz-tab/tkz-tab.sty +++ b/Master/texmf-dist/tex/latex/tkz-tab/tkz-tab.sty @@ -27,60 +27,194 @@ %% Objet : Création de tableaux (signes et variations) %<-----------------------------------------------------------------------------> \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{tkz-tab}[2009/02/21 v1.0c variations (ctan version) ] -% 12h +\ProvidesPackage{tkz-tab}[2011/01/25 v1.3c variations (ctan version) ] %<-----------------------------------------------------------------------------> \RequirePackage{etex} \RequirePackage{ifthen} \RequirePackage{xkeyval}[2005/11/25] \RequirePackage{tikz}[2008/01/15] \usetikzlibrary{arrows,patterns} + %<------------------------------ Initialisation -----------------------------> %<------------------------------ Styles -----------------------------> -\tikzset{node style/.style = {inner sep = 2pt, - outer sep = 2pt, - fill = \cmdTAB@tbs@colorT}} -\tikzset{low left/.style = {above left = 2pt}} -\tikzset{low right/.style = {above right = 2pt}} -\tikzset{high right/.style = {below right = 2pt}} -\tikzset{high left/.style = {below left = 2pt}} -\tikzset{low/.style = {above = 2pt}} -\tikzset{high/.style = {below = 2pt}} -\tikzset{on double/.style = {fill = \cmdTAB@tbs@colorT}} -\tikzset{tan style/.style = {> = latex',->, - color = \cmdTAB@TG@color}} -\tikzset{arrow style/.style = {\cmdTAB@VA@color, - ->, - > = latex', - shorten > = 2pt, - shorten < = 2pt}} -\tikzset{from style/.style = {shorten > = 2pt, - shorten < = 2pt, - line width = 0.4pt, - > = latex', - ->, - dotted}} -%\tikzset{ant style/.style = {pattern=north east lines,opacity=0.4}}% -%\tikzset{ima style/.style = {pattern=north east lines,opacity=0.4}}% -\tikzset{h style/.style = {fill=gray,opacity=0.4}} -\tikzset{double style/.style = {double}} -\tikzset{t style/.style = {style = dotted}} +\def\tkzTabDefaultWritingColor{black} +\def\tkzTabDefaultBackgroundColor{white} +\def\tkzTabDefaultLineWidth{0.4pt} +\def\tkzTabDefaultArrowStyle{latex'} +\def\tkzTabDefaultSep{2pt} +\def\cmdTAB@TTS@doubledistance{1pt} +\def\cmdTAB@backgroundcolor{fondpaille} +\def\cmdTAB@writecolor{Maroon} +\def\cmdTAB@TG@hcolor{gray} +\let\cmdTAB@TG@patterncolor\cmdTAB@writecolor +\def\cmdTAB@TG@patternstyle{north west lines} +\let\cmdTAB@TG@color\cmdTAB@writecolor +\let\cmdTAB@tbs@colorT\cmdTAB@backgroundcolor +\let\cmdTAB@VA@color\cmdTAB@writecolor +\let\cmdTAB@arrowcolor\cmdTAB@writecolor + +\tikzset{node style/.style = {inner sep = \tkzTabDefaultSep, + outer sep = \tkzTabDefaultSep, + fill = \tkzTabDefaultBackgroundColor}} +\tikzset{low left/.style = {above left = \tkzTabDefaultSep}} +\tikzset{low right/.style = {above right = \tkzTabDefaultSep}} +\tikzset{high right/.style = {below right = \tkzTabDefaultSep}} +\tikzset{high left/.style = {below left = \tkzTabDefaultSep}} +\tikzset{low/.style = {above = \tkzTabDefaultSep}} +\tikzset{high/.style = {below = \tkzTabDefaultSep}} +\tikzset{on double/.style = {fill = \tkzTabDefaultBackgroundColor}} +\tikzset{tan style/.style = {> = \tkzTabDefaultArrowStyle, + ->, + color = \tkzTabDefaultBackgroundColor}} +\tikzset{arrow style/.style = {\tkzTabDefaultWritingColor, + ->, + > = \tkzTabDefaultArrowStyle, + shorten > = \tkzTabDefaultSep, + shorten < = \tkzTabDefaultSep}} +\tikzset{from style/.style = {shorten > = \tkzTabDefaultSep, + shorten < = \tkzTabDefaultSep, + line width = \tkzTabDefaultLineWidth, + > = \tkzTabDefaultArrowStyle, + ->, + draw = \tkzTabDefaultWritingColor, + dotted}} + +\tikzset{t style/.style = {style = dotted, + draw = \tkzTabDefaultWritingColor}} + +\tikzset{h style/.style = {pattern = north west lines, + pattern color = \tkzTabDefaultWritingColor}} + +\tikzset{double style/.append style = {% + draw = \tkzTabDefaultWritingColor, + double = \tkzTabDefaultBackgroundColor}} +%<--------------------- Colorisation du fond ------------------------------> +\tikzset{fondC/.style={fill = \tkzTabDefaultBackgroundColor}} +\tikzset{fondL/.style={fill = \tkzTabDefaultBackgroundColor}} +\tikzset{fondT/.style={fill = \tkzTabDefaultBackgroundColor}} +\tikzset{fondV/.style={fill = \tkzTabDefaultBackgroundColor}} %<------------------------------ End of Styles ----------------------------> -\newdimen\tkz@XF +\newdimen\tkz@XF \newdimen\tkz@YF \newcounter{tkz@cnt@line} \newcounter{tkz@cnt@lg} \newcounter{tkz@cnt@cl} -\newcounter{tkz@cnt@pred} -\newcounter{tkz@cnt@temp} +\newcounter{tkz@cnt@pred} +\newcounter{tkz@cnt@temp} \newcounter{tkz@cnt@arrow} -\newcounter{tkz@cnt@zone} +\newcounter{tkz@cnt@zone} \newcounter{tkz@cnt@lgnext} \newcounter{tkz@cnt@clnext} \newcounter{tkz@cnt@pair} \newcounter{tkz@cnt@impair} \newcounter{tkz@cnt@aw} +%<---------------------------------------------------------------------------> +\define@cmdkey [TAB] {TTC} {color}{} +\define@cmdkey [TAB] {TTC} {backgroundcolor}{} +\presetkeys [TAB] {TTC} {color = black, + backgroundcolor = white}{} +\newcommand*{\tkzTabColors}[1][]{% +\setkeys[TAB]{TTC}{#1} +\let\tkzTabDefaultWritingColor\cmdTAB@TTC@color +\let\tkzTabDefaultBackgroundColor\cmdTAB@TTC@backgroundcolor +\tikzset{fondC/.style={fill = \tkzTabDefaultBackgroundColor}} +\tikzset{fondL/.style={fill = \tkzTabDefaultBackgroundColor}} +\tikzset{fondT/.style={fill = \tkzTabDefaultBackgroundColor}} +\tikzset{fondV/.style={fill = \tkzTabDefaultBackgroundColor}} +\let\cmdTAB@backgroundcolor\cmdTAB@TTC@backgroundcolor +\let\cmdTAB@writecolor\cmdTAB@TTC@color +\let\cmdTAB@doublecolor\cmdTAB@TTC@backgroundcolor +\let\cmdTAB@patterncolor\cmdTAB@TTC@color +\let\cmdTAB@tcolor\cmdTAB@TTC@color +} +%<---------------------------------------------------------------------------> +%<---------------------------------------------------------------------------> +\define@boolkey [TAB] {TTS} {crosslines}[true]{} +\define@cmdkey [TAB] {TTS} {doubledistance}{} +\define@cmdkey [TAB] {TTS} {lw}{} +\define@cmdkey [TAB] {TTS} {doublecolor}{} +\define@cmdkey [TAB] {TTS} {color}{} +\define@cmdkey [TAB] {TTS} {backgroundcolor}{} +\define@cmdkey [TAB] {TTS} {patterncolor}{} +\define@cmdkey [TAB] {TTS} {patternstyle}{} +\define@cmdkey [TAB] {TTS} {tstyle}{} +\define@cmdkey [TAB] {TTS} {tcolor}{} +\define@cmdkey [TAB] {TTS} {tanstyle}{} +\define@cmdkey [TAB] {TTS} {tanarrowstyle}{} +\define@cmdkey [TAB] {TTS} {tancolor}{} +\define@cmdkey [TAB] {TTS} {tanwidth}{} +\define@cmdkey [TAB] {TTS} {fromstyle}{} +\define@cmdkey [TAB] {TTS} {fromarrowstyle}{} +\define@cmdkey [TAB] {TTS} {fromcolor}{} +\define@cmdkey [TAB] {TTS} {fromwidth}{} +\define@cmdkey [TAB] {TTS} {twidth}{} +\define@cmdkey [TAB] {TTS} {hcolor}{} +\define@cmdkey [TAB] {TTS} {hopacity}{} +\define@cmdkey [TAB] {TTS} {arrowcolor}{} +\define@cmdkey [TAB] {TTS} {arrowstyle}{} +\define@cmdkey [TAB] {TTS} {arrowlinewidth}{} +%<---------------------------------------------------------------------------> +\presetkeys [TAB] {TTS} {doubledistance = 1pt, + doublecolor = \tkzTabDefaultBackgroundColor, + lw = \tkzTabDefaultLineWidth, + color = \tkzTabDefaultWritingColor, + backgroundcolor = \tkzTabDefaultBackgroundColor, + patterncolor = \tkzTabDefaultWritingColor, + patternstyle = north west lines, + tstyle = dotted, + tcolor = \tkzTabDefaultWritingColor, + tanarrowstyle = \tkzTabDefaultArrowStyle, + tanstyle = ->, + tancolor = \tkzTabDefaultWritingColor, + tanwidth = \tkzTabDefaultLineWidth, + fromarrowstyle = \tkzTabDefaultArrowStyle, + fromstyle = ->, + fromcolor = \tkzTabDefaultWritingColor, + fromwidth = \tkzTabDefaultLineWidth, + twidth = \tkzTabDefaultLineWidth, + hcolor = \tkzTabDefaultWritingColor, + hopacity = 0.4, + crosslines = false, + arrowcolor = \tkzTabDefaultWritingColor, + arrowstyle = \tkzTabDefaultArrowStyle, + arrowlinewidth = \tkzTabDefaultLineWidth}{} +%<---------------------------------------------------------------------------> +\newcommand*{\tkzTabSetup}[1][]{% +\setkeys[TAB]{TTS}{#1} +\tikzset{from style/.append style = {line width = \cmdTAB@TTS@fromwidth, + > = \cmdTAB@TTS@fromarrowstyle, + \cmdTAB@TTS@fromstyle, + \cmdTAB@TTS@fromcolor}} + +\tikzset{tan style/.style = {\cmdTAB@TTS@tanstyle, + > = \cmdTAB@TTS@tanarrowstyle, + \cmdTAB@TTS@tancolor}} + +\tikzset{double style/.append style = {% + draw = \cmdTAB@TTS@color, + double = \cmdTAB@TTS@doublecolor, + double distance = \cmdTAB@TTS@doubledistance, + line width = \cmdTAB@TTS@lw}} +\tikzset{t style/.style = {style = \cmdTAB@TTS@tstyle, + draw = \cmdTAB@TTS@tcolor, + line width = \cmdTAB@TTS@twidth}} +\tikzset{arrow style/.append style = {\cmdTAB@TTS@arrowcolor, + > = \cmdTAB@TTS@arrowstyle, + line width = \cmdTAB@TTS@arrowlinewidth}} +\tikzset{node style/.append style = { fill = fondpaille}} +\tikzset{fondC/.style={fill = \cmdTAB@TTS@backgroundcolor}} +\tikzset{fondL/.style={fill = \cmdTAB@TTS@backgroundcolor}} +\tikzset{fondT/.style={fill = \cmdTAB@TTS@backgroundcolor}} +\tikzset{fondV/.style={fill = \cmdTAB@TTS@backgroundcolor}} +\ifTAB@TTS@crosslines% + \tikzset{h style/.style = {pattern = north west lines, + pattern color = \cmdTAB@TTS@patterncolor}} +\else + \tikzset{h style/.style = {fill = \cmdTAB@TTS@patterncolor!50, + opacity = \cmdTAB@TTS@hopacity}} +\fi +} %<--------------------- tracé du cadre extérieur ---------------------------> \define@boolkey [TAB] {tbs} {help}[true]{} \define@boolkey [TAB] {tbs} {color}[true]{} @@ -98,11 +232,11 @@ espcl = 3, lgt = 2, textw = \cmdTAB@tbs@lgt, - lw = 0.4pt, - colorC = white, - colorL = white, - colorT = white, - colorV = white, + lw = \tkzTabDefaultLineWidth, + colorC = \tkzTabDefaultBackgroundColor, + colorL = \tkzTabDefaultBackgroundColor, + colorT = \tkzTabDefaultBackgroundColor, + colorV = \tkzTabDefaultBackgroundColor, color = false, nocadre = false, deltacl = 0.5}{} @@ -187,20 +321,16 @@ \fi }% \pgfmathdivide{\cmdTAB@tbs@lgt}{2}% - \global\let\tkz@dx\pgfmathresult + \global\let\tkz@tab@dx\pgfmathresult \pgfmathdivide{\tkz@deltaH}{2}% \global\let\tkz@halfdeltaH\pgfmathresult \pgfmathsubtract{\tkz@halfdeltaH}{\tkz@deltaY}% - \global\let\tkz@dy\pgfmathresult + \global\let\tkz@tab@dy\pgfmathresult \setcounter{tkz@cnt@temp}{\thetkz@cnt@lg}% \addtocounter{tkz@cnt@temp}{-1}% - \path (\tkz@dx,\tkz@dy) coordinate(F\thetkz@cnt@temp);}% + \path (\tkz@tab@dx,\tkz@tab@dy) coordinate(F\thetkz@cnt@temp);}% % -% %<----------------------- Colorisation du fond ------------------------------> -\tikzset{fondC/.style={fill = \cmdTAB@tbs@colorC}} -\tikzset{fondL/.style={fill = \cmdTAB@tbs@colorL}} -\tikzset{fondT/.style={fill = \cmdTAB@tbs@colorT}} -\tikzset{fondV/.style={fill = \cmdTAB@tbs@colorV}} +%<--------------------- Colorisation du fond ------------------------------> %\clip (T00) rectangle (T2\maxtkz@cnt@lg); \ifTAB@tbs@color \draw[fondC] (T01) rectangle (T1\maxtkz@cnt@lg); @@ -208,9 +338,9 @@ \draw[fondT] (T11) rectangle (T2\maxtkz@cnt@lg); \draw[fondV] (T00) rectangle (T11); \fi -% %<-------------------Fin Colorisation du fond ------------------------------> +%<-------------------Fin Colorisation du fond ------------------------------> % -% %<--------------- Écriture des formules en colonne 1 -----------------------> +%<--------------- Écriture des formules en colonne 1 ---------------------> \setcounter{tkz@cnt@lg}{-1}% \pgfmathsubtract{\cmdTAB@tbs@textw}{0.4}% \xdef\cmdTAB@tbs@textw{\pgfmathresult}% @@ -221,33 +351,34 @@ \else \node[text width = \cmdTAB@tbs@textw cm,text centered,inner sep=0pt] at (F\thetkz@cnt@lg) {\ligne}; \fi}% -%<------------------Cadre = true on trace tout sinon condition----------------> +%<--------------- Cadre = true on trace tout sinon condition----------------> \ifTAB@tbs@nocadre% -\foreach \x in {1}{\draw[line width = \cmdTAB@tbs@lw] (T\x 0) --(T\x \maxtkz@cnt@lg);}% +\draw[line width = \cmdTAB@tbs@lw] (T10) --(T1\maxtkz@cnt@lg); \setcounter{tkz@cnt@temp}{\maxtkz@cnt@lg}% \addtocounter {tkz@cnt@temp}{-1}% -\xdef\maxtkz@cnt@lg{\thetkz@cnt@temp}% +\xdef\maxtkz@cnt@lg{\thetkz@cnt@temp}% \foreach \y in {1,...,\maxtkz@cnt@lg}{\draw[line width = \cmdTAB@tbs@lw] (T0\y) --(T2\y);}% \else -\foreach \y in {0,...,\maxtkz@cnt@lg}{\draw[line width = \cmdTAB@tbs@lw] (T0\y) --(T2\y);}% -\foreach \x in {0,1,2}{\draw[line width = \cmdTAB@tbs@lw] (T\x 0) --(T\x \maxtkz@cnt@lg);}% -\fi -%<------------ Première ligne et Nodes variations ----------------------------> +\foreach \y in {1,...,\maxtkz@cnt@lg}{\draw[line width = \cmdTAB@tbs@lw] (T0\y) --(T2\y);}% +\draw[line width = \cmdTAB@tbs@lw] (T00) rectangle (T2\maxtkz@cnt@lg); +\draw[line width = \cmdTAB@tbs@lw] (T10) -- (T1\maxtkz@cnt@lg); +\fi +%<------------ Première ligne et Nodes variations --------------------------> \setcounter{tkz@cnt@cl}{0}% \pgfextractx{\tkz@XF}{\pgfpointanchor{F0}{center}}% \pgfextracty{\tkz@YF}{\pgfpointanchor{F0}{center}}% \foreach \x in {#3}{% \pgfmathparse{\cmdTAB@tbs@deltacl+\cmdTAB@tbs@lgt/2+% \cmdTAB@tbs@espcl*\thetkz@cnt@cl}% - \global\let\tkz@dx\pgfmathresult + \global\let\tkz@tab@dx\pgfmathresult \stepcounter{tkz@cnt@cl}% \ifTAB@tbs@help% \node[draw,fill=blue!50,inner sep=1pt] (L\number\value{tkz@cnt@cl})% - at (\tkz@XF + \tkz@dx cm,\tkz@YF) {\footnotesize L\number\value{tkz@cnt@cl}};% + at (\tkz@XF + \tkz@tab@dx cm,\tkz@YF) {\footnotesize L\number\value{tkz@cnt@cl}};% \else - \node (L\thetkz@cnt@cl) at (\tkz@XF + \tkz@dx cm,\tkz@YF) {\x};% + \node (L\thetkz@cnt@cl) at (\tkz@XF + \tkz@tab@dx cm,\tkz@YF) {\x};% \fi}% -%<----------------------- help --------------------------------> +%<------------------------ help -----------------------------> \ifTAB@tbs@help% \foreach \colonne in {0,1,2}{% \foreach \ligne in {0,...,\maxtkz@cnt@lg}{\draw (T\colonne\ligne)% @@ -261,9 +392,9 @@ node[above right,red,inner sep=1pt] {\footnotesize N\colonne\ligne};}}% \fi }% fin de tkzTabInit -%<-----------------------------------------------------------------------------> -%<----------------------- Ligne de Signes -------------------------------------> -%<----------------------- tkzTabLine -------------------------------------> +%<---------------------------------------------------------------------------> +%<--------------------- Ligne de Signes -------------------------------------> +%<----------------------- tkzTabLine -----------------------------------> \newcommand*\stripspaces[1]{% \strip@spaces{#1}} \newcommand\strip@spaces{\renewcommand\strip@spaces[1]}% @@ -274,12 +405,10 @@ \def\strip@lastspace#1 \@nil#2\@@nil{\strip@nil#1\@nil\@@nil}} \@ifdefinable\strip@nil{% \def\strip@nil#1\@nil#2\@@nil{#1}} - - -%<-----------------------------------------------------------------------------> +%<---------------------------------------------------------------------------> \define@boolkey[TAB]{TL}{help}[true]{} \presetkeys[TAB]{TL}{help=false}{} -%<-----------------------------------------------------------------------------> +%<---------------------------------------------------------------------------> \newcommand*{\tkzTabLine}[2][]{% \setkeys[TAB]{TL}{#1}% \setcounter{tkz@cnt@lg}{\thetkz@cnt@line}% @@ -288,10 +417,10 @@ \setcounter{tkz@cnt@cl}{1}% \setcounter{tkz@cnt@pair}{1}% \setcounter{tkz@cnt@impair}{1}% - \ifTAB@TL@help% + \ifTAB@TL@help% \foreach \x in {#2} {% - \ifthenelse{\isodd{\value{tkz@cnt@cl}}}{% + \ifthenelse{\isodd{\value{tkz@cnt@cl}}}{% \path (N\thetkz@cnt@impair\thetkz@cnt@lg) --% node[draw,inner sep =1pt,midway,fill=yellow] {% \footnotesize Z\thetkz@cnt@impair\thetkz@cnt@lg}% @@ -314,25 +443,22 @@ \path (N\thetkz@cnt@impair\thetkz@cnt@lg) --% coordinate[midway](Z\thetkz@cnt@impair\thetkz@cnt@lg)% (N\thetkz@cnt@impair\thetkz@cnt@lgnext); - \ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{z}}{% + \ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{z}}{% \draw[line width = \cmdTAB@tbs@lw,t style]% (N\thetkz@cnt@impair\thetkz@cnt@lg) -- % (N\thetkz@cnt@impair\thetkz@cnt@lgnext); \node at (Z\thetkz@cnt@impair\thetkz@cnt@lg){$0$}; }{% \ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{}}{% - % \path (N\thetkz@cnt@impair\thetkz@cnt@lg)--node[midway]{}% - % (N\thetkz@cnt@impair\thetkz@cnt@lgnext); }{% \ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{t}}{% \draw[line width = \cmdTAB@tbs@lw,t style] (N\thetkz@cnt@impair\thetkz@cnt@lg) -- % - (N\thetkz@cnt@impair\thetkz@cnt@lgnext); - }{% + (N\thetkz@cnt@impair\thetkz@cnt@lgnext);}{% \ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{d}}{% - \draw[line width =\cmdTAB@tbs@lw,double style]% - (N\thetkz@cnt@impair\thetkz@cnt@lg)--% - (N\thetkz@cnt@impair\thetkz@cnt@lgnext); + \draw[line width =\cmdTAB@tbs@lw,double style]% + ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@impair\thetkz@cnt@lg)--% + ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@impair\thetkz@cnt@lgnext); }{% \path (N\thetkz@cnt@impair\thetkz@cnt@lg)--% (N\thetkz@cnt@impair\thetkz@cnt@lgnext); @@ -346,9 +472,14 @@ \ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{h}}{% \setcounter{tkz@cnt@clnext}{\thetkz@cnt@pair}% \stepcounter{tkz@cnt@clnext}% - \draw[h style](N\thetkz@cnt@pair\thetkz@cnt@lg) +(0.4pt,0) + \pgfmathparse{\cmdTAB@TTS@doubledistance/2+\cmdTAB@tbs@lw} + \global\let\tkz@deltax\pgfmathresult + \fill[h style]([xshift=\tkz@deltax,yshift=-\cmdTAB@tbs@lw/2]% + N\thetkz@cnt@pair\thetkz@cnt@lg) rectangle% - (N\thetkz@cnt@clnext\thetkz@cnt@lgnext);}{% + ([xshift=-\tkz@deltax,yshift=\cmdTAB@tbs@lw/2]% + N\thetkz@cnt@clnext\thetkz@cnt@lgnext); +}{% \node at (S\thetkz@cnt@pair\thetkz@cnt@lg) {$\x$}; }% \stepcounter{tkz@cnt@pair}% @@ -357,11 +488,11 @@ }% end foreach \fi }% -%<-----------------------------------------------------------------------------> -%<---------------------------- Variations ---------------------------------> -%<-----------------------------------------------------------------------------> -%<----------------------- Macro pour tracer une flèche ------------------------> -%<-----------------------------------------------------------------------------> +%<---------------------------------------------------------------------------> +%<---------------------------- Variations -------------------------------> +%<---------------------------------------------------------------------------> +%<----------------------- Macro pour tracer une flèche ----------------------> +%<---------------------------------------------------------------------------> \newcommand*{\tkzDrawArrow}{% \ifthenelse{\equal{\thetkz@cnt@zone}{0}}{% \setcounter{tkz@cnt@pred}{\thetkz@cnt@cl} @@ -382,11 +513,12 @@ \setcounter{tkz@cnt@zone}{0}% }% }% -%<-----------------------------------------------------------------------------> +%<---------------------------------------------------------------------------> \define@boolkey[TAB]{VA}{help}[true]{} \define@cmdkey[TAB]{VA}{color}{} -\presetkeys[TAB]{VA}{color=black,help=false}{} -%<-----------------------------------------------------------------------------> +\presetkeys[TAB]{VA}{color = black, + help = false}{} +%<---------------------------------------------------------------------------> \newcommand*{\tkzTabVar}[2][]{% \setkeys[TAB]{VA}{#1}% \setcounter{tkz@cnt@lg}{\thetkz@cnt@line}% @@ -398,6 +530,9 @@ \setcounter{tkz@cnt@aw}{0}% \setcounter{tkz@cnt@temp}{0}% \setcounter{tkz@cnt@arrow}{0}% +\pgfmathparse{\cmdTAB@TTS@doubledistance/2+\cmdTAB@tbs@lw} +\global\let\tkz@deltax\pgfmathresult + \ifTAB@tbs@color% \draw (T1\thetkz@cnt@lg) rectangle (T2\thetkz@cnt@line);% \fi% @@ -407,14 +542,16 @@ %<------------------------------------------------------------------- D- ----> \ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{D-}}% {\draw[double style]% - (N\thetkz@cnt@cl\thetkz@cnt@lg) -- (N\thetkz@cnt@cl\thetkz@cnt@lgnext); + ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) --% + ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext); \node[node style,low right] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tr\fi};% \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}% }% %<------------------------------------------------------------------- D+ ----> {\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{D+}}% {\draw[double style]% - (N\thetkz@cnt@cl\thetkz@cnt@lg) -- (N\thetkz@cnt@cl\thetkz@cnt@lgnext); + ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) --% + ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext); \node[node style,high right] (FR\thetkz@cnt@cl\thetkz@cnt@lg)% at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tr\fi};% \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}% @@ -422,14 +559,15 @@ %<------------------------------------------------------------------- +D ----> {\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+D}}% {\draw[double style]% - (N\thetkz@cnt@cl\thetkz@cnt@lg) -- (N\thetkz@cnt@cl\thetkz@cnt@lgnext); + ([yshift=-\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) -- ([yshift=\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext); \node[node style,high left] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tl\fi};% \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}% }% %<------------------------------------------------------------------- +C ----> {\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+C}}% {\draw[double style]% - (N\thetkz@cnt@cl\thetkz@cnt@lg)--(N\thetkz@cnt@cl\thetkz@cnt@lgnext);% + ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg)--% + ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext);% \node[node style,high,on double] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tl\fi};% \node[node style,high,on double] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tl\fi};% \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}% @@ -437,14 +575,16 @@ %<------------------------------------------------------------------ -D -----> {\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-D}}% {\draw[double style]% - (N\thetkz@cnt@cl\thetkz@cnt@lg) -- (N\thetkz@cnt@cl\thetkz@cnt@lgnext); + ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) --% + ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext); \node[node style,low left] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tl\fi};% \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}% }% %<------------------------------------------------------------------ -C -----> {\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-C}}% {\draw[double style]% - (N\thetkz@cnt@cl\thetkz@cnt@lg) -- (N\thetkz@cnt@cl\thetkz@cnt@lgnext); + ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) --% + ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext); \node[node style,low,on double] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tl\fi};% \node[node style,low,on double] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tl\fi};% \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}% @@ -487,8 +627,9 @@ }% %<------------------------------------------------------------------ -D+ ----> {\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-D+}}% -{\draw[line width =0.4pt,double style]% - (N\thetkz@cnt@cl\thetkz@cnt@lg) -- (N\thetkz@cnt@cl\thetkz@cnt@lgnext); +{\draw[line width =\cmdTAB@tbs@lw,double style]% + ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) --% + ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext); \node[node style,low left] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tl\fi}; \node[node style,high right] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tr\fi}; \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}% @@ -496,7 +637,8 @@ %<------------------------------------------------------------------ +D- ----> {\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+D-}}% {\draw[double style]% - (N\thetkz@cnt@cl\thetkz@cnt@lg) -- (N\thetkz@cnt@cl\thetkz@cnt@lgnext); + ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) --% + ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext); \node[node style,high left] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tl\fi};% \node[node style,low right] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tr\fi}; \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}% @@ -504,7 +646,8 @@ %<----------------------------------------------------------------- -CD+ ----> {\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-CD+}}% {\draw[double style]% - (N\thetkz@cnt@cl\thetkz@cnt@lg) -- (N\thetkz@cnt@cl\thetkz@cnt@lgnext); + ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) --% + ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext); \node[node style,low,on double] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tl\fi}; \node[node style,high right,on double] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tr\fi}; \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}% @@ -512,7 +655,8 @@ %<----------------------------------------------------------------- -CD- ----> {\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-CD-}}% {\draw[double style]% - (N\thetkz@cnt@cl\thetkz@cnt@lg) -- (N\thetkz@cnt@cl\thetkz@cnt@lgnext); + ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) --% + ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext); \node[node style,low,on double] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tl\fi}; \node[node style,low right,on double] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tr\fi}; \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}% @@ -520,7 +664,8 @@ %<----------------------------------------------------------------- +CD- ----> {\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+CD-}}% {\draw[double style]% - (N\thetkz@cnt@cl\thetkz@cnt@lg) -- (N\thetkz@cnt@cl\thetkz@cnt@lgnext); + ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) --% + ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext); \node[node style,high,on double] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tl\fi}; \node[node style,low right,on double] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tr\fi}; \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}% @@ -528,15 +673,17 @@ %<----------------------------------------------------------------- -DC+ ----> {\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-DC+}}% {\draw[double style]% - (N\thetkz@cnt@cl\thetkz@cnt@lg) -- (N\thetkz@cnt@cl\thetkz@cnt@lgnext); + ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) -- % + ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext); \node[node style,low left,on double] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tl\fi}; \node[node style,high,on double] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tr\fi}; \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}% }% %<----------------------------------------------------------------- +DC- ----> {\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+DC-}}% -{\draw[line width =0.4pt,double style]% - (N\thetkz@cnt@cl\thetkz@cnt@lg) -- (N\thetkz@cnt@cl\thetkz@cnt@lgnext); +{\draw[double style]% + ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) -- % + ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext); \node[node style,high left,on double] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tl\fi}; \node[node style,low,on double] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tr\fi}; \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}% @@ -544,7 +691,8 @@ %<----------------------------------------------------------------- -DC- ----> {\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-DC-}}% {\draw[double style]% - (N\thetkz@cnt@cl\thetkz@cnt@lg) -- (N\thetkz@cnt@cl\thetkz@cnt@lgnext); + ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) -- % + ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext); \node[node style,low left,on double] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tl\fi}; \node[node style,low,on double] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tr\fi}; \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}% @@ -552,7 +700,8 @@ %<----------------------------------------------------------------- +DC+ ----> {\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+DC+}}% {\draw[double style]% - (N\thetkz@cnt@cl\thetkz@cnt@lg) --(N\thetkz@cnt@cl\thetkz@cnt@lgnext); + ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) --% + ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext); \node[node style,high left,on double] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tl\fi}; \node[node style,high,on double] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tr\fi}; \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}% @@ -560,15 +709,17 @@ %<------------------------------------------------------------------ +D+ ----> {\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+D+}}% {\draw[double style]% - (N\thetkz@cnt@cl\thetkz@cnt@lg) -- (N\thetkz@cnt@cl\thetkz@cnt@lgnext); + ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) -- % + ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext); \node[node style,high left,on double] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tl\fi}; \node[node style,high right,on double] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tr\fi}; \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}% }% %<------------------------------------------------------------------ -D- ----> {\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-D-}}% -{\draw[line width =0.4pt,double style]% - (N\thetkz@cnt@cl\thetkz@cnt@lg) -- (N\thetkz@cnt@cl\thetkz@cnt@lgnext); +{\draw[double style]% + ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) -- % + ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext); \node[node style,low left] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tl\fi}; \node[node style,low right] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tr\fi}; \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}% @@ -580,48 +731,62 @@ %<------------------------------------------------------------------ +DH ----> {\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+DH}}% {\draw[double style]% - (N\thetkz@cnt@cl\thetkz@cnt@lg) -- (N\thetkz@cnt@cl\thetkz@cnt@lgnext); + ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) -- % + ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext); \node[node style,high left] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tl\fi}; \setcounter{tkz@cnt@clnext}{\thetkz@cnt@cl}\stepcounter{tkz@cnt@clnext} - \draw[h style]% - (N\thetkz@cnt@cl\thetkz@cnt@lg) rectangle (N\thetkz@cnt@clnext\thetkz@cnt@lgnext); + \fill[h style]% + ([xshift=\tkz@deltax] N\thetkz@cnt@cl\thetkz@cnt@lg)% + rectangle% + (N\thetkz@cnt@clnext\thetkz@cnt@lgnext); \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}\stepcounter{tkz@cnt@zone}% }% %<------------------------------------------------------------------ -DH ----> {\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-DH}}% {\draw[double style]% - (N\thetkz@cnt@cl\thetkz@cnt@lg) -- (N\thetkz@cnt@cl\thetkz@cnt@lgnext); + ([yshift=-\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) --% + ([yshift=\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext); \node[node style,low left] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@cl\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tl\fi}; \setcounter{tkz@cnt@clnext}{\thetkz@cnt@cl}\stepcounter{tkz@cnt@clnext}% - \draw[h style]% - (N\thetkz@cnt@cl\thetkz@cnt@lg) rectangle (N\thetkz@cnt@clnext\thetkz@cnt@lgnext); + \fill[h style]% + ([xshift=\tkz@deltax] N\thetkz@cnt@cl\thetkz@cnt@lg)% + rectangle% + (N\thetkz@cnt@clnext\thetkz@cnt@lgnext); \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}\stepcounter{tkz@cnt@zone}% }% %<------------------------------------------------------------------ +CH ----> {\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+CH}}% {\setcounter{tkz@cnt@clnext}{\thetkz@cnt@cl}\stepcounter{tkz@cnt@clnext} - \draw[h style]% - (N\thetkz@cnt@cl\thetkz@cnt@lg) rectangle (N\thetkz@cnt@clnext\thetkz@cnt@lgnext); +\fill[h style]% +(N\thetkz@cnt@cl\thetkz@cnt@lg)% + rectangle% + (N\thetkz@cnt@clnext\thetkz@cnt@lgnext); \draw[double style]% - (N\thetkz@cnt@cl\thetkz@cnt@lg) -- (N\thetkz@cnt@cl\thetkz@cnt@lgnext); + ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) --% + ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext); \node[node style,high,on double] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tl\fi}; \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}\stepcounter{tkz@cnt@zone}% }% %<------------------------------------------------------------------ -CH ----> {\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-CH}}% {\setcounter{tkz@cnt@clnext}{\thetkz@cnt@cl}\stepcounter{tkz@cnt@clnext}% - \draw[h style]% - (N\thetkz@cnt@cl\thetkz@cnt@lg) rectangle (N\thetkz@cnt@clnext\thetkz@cnt@lgnext); - \draw[line width =0.4pt,double style]% - (N\thetkz@cnt@cl\thetkz@cnt@lg) -- (N\thetkz@cnt@cl\thetkz@cnt@lgnext); + \fill[h style]% + ([xshift=\tkz@deltax] N\thetkz@cnt@cl\thetkz@cnt@lg)% + rectangle% + (N\thetkz@cnt@clnext\thetkz@cnt@lgnext); + \draw[double style]% + ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) --% + ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext); \node[node style,low,on double](FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tl\fi}; \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}\stepcounter{tkz@cnt@zone}% }% %<------------------------------------------------------------------ +H ----> {\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+H}}% {\setcounter{tkz@cnt@clnext}{\thetkz@cnt@cl}\stepcounter{tkz@cnt@clnext} - \draw[h style]% - (N\thetkz@cnt@cl\thetkz@cnt@lg) rectangle (N\thetkz@cnt@clnext\thetkz@cnt@lgnext); + \fill[h style]% + (N\thetkz@cnt@cl\thetkz@cnt@lg)% + rectangle % + (N\thetkz@cnt@clnext\thetkz@cnt@lgnext); \draw[]% (N\thetkz@cnt@cl\thetkz@cnt@lg) -- (N\thetkz@cnt@cl\thetkz@cnt@lgnext); \node[node style,high,on double] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tl\fi};% @@ -630,8 +795,10 @@ %<------------------------------------------------------------------ -H ----> {\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-H}}% {\setcounter{tkz@cnt@clnext}{\thetkz@cnt@cl}\stepcounter{tkz@cnt@clnext} - \draw[h style]% - (N\thetkz@cnt@cl\thetkz@cnt@lg) rectangle (N\thetkz@cnt@clnext\thetkz@cnt@lgnext); + \fill[h style]% + (N\thetkz@cnt@cl\thetkz@cnt@lg)% + rectangle % + (N\thetkz@cnt@clnext\thetkz@cnt@lgnext); \draw[]% (N\thetkz@cnt@cl\thetkz@cnt@lg) -- (N\thetkz@cnt@cl\thetkz@cnt@lgnext); \node[node style,low,on double](FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tl\fi}; @@ -642,14 +809,14 @@ %<-------------------------------------------------- Tracé des flèches ------> \end{scope}% }% fin de la macro variation -%<-----------------------------------------------------------------------------> -%<------------------------ Valeur Intermédiaire ----------------------------> -%<-----------------------------------------------------------------------------> +%<---------------------------------------------------------------------------> +%<------------------------- Valeur Intermédiaire ----------------------------> +%<---------------------------------------------------------------------------> \define@boolkey[TAB] {VI} {draw}[true]{} \define@cmdkey [TAB] {VI} {remember}{} \presetkeys [TAB] {VI} {draw = false, remember= lastval}{} -%<-----------------------------------------------------------------------------> +%<---------------------------------------------------------------------------> \newcommand*{\tkzTabVal}[6][]{% \setkeys[TAB]{VI}{#1}% \setcounter{tkz@cnt@lg}{\thetkz@cnt@line}% @@ -657,22 +824,20 @@ \pgfextractx{\tkz@XF}{\pgfpointanchor{L#2}{center}} \pgfextracty{\tkz@YF}{\pgfpointanchor{L#2}{center}} \pgfmathparse{\cmdTAB@tbs@espcl * (#4)*(#3-#2)}% -\global\let\tkz@dx\pgfmathresult -\node[inner sep = 0pt,fondL] (ANT) at (\tkz@XF + \tkz@dx cm,\tkz@YF) {#5}; -\path coordinate (ANTa) at ([xshift=\tkz@dx cm]N#21); -\path coordinate (ANTb) at ([xshift=\tkz@dx cm]N#2\thetkz@cnt@line); +\global\let\tkz@tab@dx\pgfmathresult +\node[inner sep = 0pt,fondL] (ANT) at (\tkz@XF + \tkz@tab@dx cm,\tkz@YF) {#5}; +\path coordinate (ANTa) at ([xshift=\tkz@tab@dx cm]N#21); +\path coordinate (ANTb) at ([xshift=\tkz@tab@dx cm]N#2\thetkz@cnt@line); \path (intersection cs:% - first line= {(FR#2\thetkz@cnt@lg)--(FL#3\thetkz@cnt@lg)},% - second line={(ANTa)--(ANTb)}) node[node style,fondT](VAL){#6}; + first line = {(FR#2\thetkz@cnt@lg)--(FL#3\thetkz@cnt@lg)},% + second line = {(ANTa)--(ANTb)}) node[node style,fondT](VAL){#6}; \path coordinate (\cmdTAB@VI@remember) at (VAL); \ifTAB@VI@draw% \draw[from style] (ANTa.center) to (VAL); \fi }% - -%-----------------------------------------------------------------------------> -%<-----------------------------------------------------------------------------> -%<-----------------------------------------------------------------------------> +%<---------------------------------------------------------------------------> +%<---------------------------------------------------------------------------> \define@boolkey[TAB] {IM} {draw}[true]{} \define@cmdkey [TAB] {IM} {remember}{} \presetkeys [TAB] {IM} {draw = false, @@ -690,9 +855,8 @@ \draw[from style] (N#41) to (IMA); \fi }% -%<-----------------------------------------------------------------------------> -%<-----------------------------------------------------------------------------> -%<-----------------------------------------------------------------------------> +%<---------------------------------------------------------------------------> +%<---------------------------------------------------------------------------> \newcommand*{\tkzTabImaFrom}[5][]{% \setkeys[TAB]{IM}{#1}% \setcounter{tkz@cnt@lg}{\thetkz@cnt@line}% @@ -702,12 +866,12 @@ second line={(#4)--([yshift=-0.5 cm]#4)}) node[node style,fondT](IMA){#5}; \path coordinate (\cmdTAB@IM@remember) at (IMA); \ifTAB@IM@draw - \draw[from style] (#4) to (IMA);% + \draw[from style] (#4) to (IMA); \fi }% -%<-----------------------------------------------------------------------------> -%<-----------------------------------------------------------------------------> -%<------------------------ tangente horizontale -----------------------------> +%<---------------------------------------------------------------------------> +%<---------------------------------------------------------------------------> +%<---------------------- tangente horizontale -----------------------------> % args 1--> options ; % 2--> tkz@cnt@cl debut fl ; % 3--> tkz@cnt@clnext fin de fl ;% @@ -721,7 +885,7 @@ color = black, pos = above, remember = lastval}{} -%<-----------------------------------------------------------------------------> +%<---------------------------------------------------------------------------> \newcommand*{\tkzTabTan}[5][]{% \setkeys[TAB]{TA}{#1}% \setcounter{tkz@cnt@lg}{\thetkz@cnt@line}% @@ -733,15 +897,14 @@ \draw[fill,color=\cmdTAB@TA@color] (tgt) circle (1pt); \node[\cmdTAB@TA@pos =1pt] at (tgt) {#5}; \path coordinate (\cmdTAB@TA@remember) at (tgt); -\draw[arrow style] (tgt) -- ++(.75,0); -\draw[arrow style] (tgt) -- ++(-.75,0); +\draw[tan style] (tgt) -- ++(.75,0); +\draw[tan style] (tgt) -- ++(-.75,0); \ifTAB@TA@draw% \draw[from style] (N#41) to (tgt); \fi }% -%<-----------------------------------------------------------------------------> -%<-----------------------------------------------------------------------------> -%<-----------------------------------------------------------------------------> +%<---------------------------------------------------------------------------> +%<---------------------------------------------------------------------------> \newcommand*{\tkzTabTanFrom}[5][]{% \setkeys[TAB]{TA}{#1}% \setcounter{tkz@cnt@lg}{\thetkz@cnt@line}% @@ -755,26 +918,25 @@ \path coordinate (\cmdTAB@TA@remember) at (tgt); \draw[arrow style] (tgt) -- ++(.75,0); \draw[arrow style] (tgt) -- ++(-.75,0); - \ifTAB@TA@draw% - \draw[from style] (#4) -- (tgt);% + \ifTAB@TA@draw + \draw[from style] (#4) -- (tgt); \fi }% -%<-----------------------------------------------------------------------------> -%<-----------------------------------------------------------------------------> -%<------------------------ dérivée droite gauche ------------------------------> +%<---------------------------------------------------------------------------> +%<---------------------- dérivée droite gauche ------------------------------> \newcommand*{\tkzTabSlope}[1]{% \foreach \x/\y/\z in {#1}{% \node[left = 3pt] at (Z\x 1) {\scriptsize $\y$}; \node[right = 3pt] at (Z\x 1) {\scriptsize $\z$}; }% } -%<-----------------------------------------------------------------------------> -%<-----------------------------------------------------------------------------> -%<-----------------------------------------------------------------------------> +%<---------------------------------------------------------------------------> +%<---------------------------------------------------------------------------> \newcommand*{\tkzTab}[5][]{% \tkzTabInit[#1]{#2}{#3}% \tkzTabLine{#4}% \tkzTabVar{#5}% } -%<---------------------------------The End ------------------------------------> +%<-------------------------------The End ------------------------------------> \endinput + -- cgit v1.2.3