diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r-- | Master/texmf-dist/tex/latex/tkz-tab/tkz-tab.sty | 943 |
1 files changed, 0 insertions, 943 deletions
diff --git a/Master/texmf-dist/tex/latex/tkz-tab/tkz-tab.sty b/Master/texmf-dist/tex/latex/tkz-tab/tkz-tab.sty deleted file mode 100644 index 8119748eeff..00000000000 --- a/Master/texmf-dist/tex/latex/tkz-tab/tkz-tab.sty +++ /dev/null @@ -1,943 +0,0 @@ -% Copyright (C) 2009 Alain Matthes -% -% This file may be distributed and/or modified -% -% 1. under the LaTeX Project Public License , either version 1.3 -% of this license or (at your option) any later version and/or -% 2. under the GNU Public License. -% -% See the file doc/generic/pgf/licenses/LICENSE for more details.% -% See http://www.latex-project.org/lppl.txt for details. -% -% -% ``tkz-tab'' package for create tables of signs and variations. -% -% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - % % - % tkz-tab.sty encodage : utf8 % - % % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - % % - % Créé par Alain Matthes le 04-01-2007. % - % CTAN version % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%% Objet : Création de tableaux (signes et variations) -%<-----------------------------------------------------------------------------> -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{tkz-tab}[2019/01/19 v1.4e variations (ctan version) ] -%<-----------------------------------------------------------------------------> -\ifx\e@alloc\@undefined - \RequirePackage{etex} -\fi -\RequirePackage{ifthen} -\RequirePackage{xkeyval}[2005/11/25] -\RequirePackage{tikz}[2008/01/15] -\usetikzlibrary{arrows,patterns} - -%<------------------------------ Initialisation -----------------------------> - -%<------------------------------ Styles -----------------------------> -%<------------------------------ Colors -----------------------------> -\def\tkzTabDefaultWritingColor{black} -\def\tkzTabDefaultBackgroundColor{white} -\def\tkzTabDefaultLineWidth{0.4pt} -\def\tkzTabDefaultArrowStyle{latex'} -\def\tkzTabDefaultSep{2pt} -\def\cmdTAB@backgroundcolor{white} -\def\cmdTAB@writecolor{black} -\def\cmdTAB@TTS@doubledistance{1pt} -\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 = \tkzTabDefaultWritingColor}} -\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@YF -\newcounter{tkz@cnt@line} -\newcounter{tkz@cnt@lg} -\newcounter{tkz@cnt@cl} -\newcounter{tkz@cnt@pred} -\newcounter{tkz@cnt@temp} -\newcounter{tkz@cnt@arrow} -\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 -\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 -\tikzset{fondC/.style={fill = \tkzTabDefaultBackgroundColor}} -\tikzset{fondL/.style={fill = \tkzTabDefaultBackgroundColor}} -\tikzset{fondT/.style={fill = \tkzTabDefaultBackgroundColor}} -\tikzset{fondV/.style={fill = \tkzTabDefaultBackgroundColor}} -} -%<---------------------------------------------------------------------------> -%<---------------------------------------------------------------------------> -\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 = \cmdTAB@TTS@backgroundcolor}} -\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]{} -\define@boolkey [TAB] {tbs} {nocadre}[true]{} -\define@cmdkey [TAB] {tbs} {lw}{} -\define@cmdkey [TAB] {tbs} {textw}{} -\define@cmdkey [TAB] {tbs} {colorC}{} -\define@cmdkey [TAB] {tbs} {colorL}{} -\define@cmdkey [TAB] {tbs} {colorT}{} -\define@cmdkey [TAB] {tbs} {colorV}{} -\define@cmdkey [TAB] {tbs} {lgt}{} -\define@cmdkey [TAB] {tbs} {espcl}{} -\define@cmdkey [TAB] {tbs} {deltacl}{} -\presetkeys [TAB] {tbs} {help = false, - espcl = 3, - lgt = 2, - textw = \cmdTAB@tbs@lgt, - lw = \tkzTabDefaultLineWidth, - colorC = \tkzTabDefaultBackgroundColor, - colorL = \tkzTabDefaultBackgroundColor, - colorT = \tkzTabDefaultBackgroundColor, - colorV = \tkzTabDefaultBackgroundColor, - color = false, - nocadre = false, - deltacl = 0.5}{} -%<---------------------------------------------------------------------------> -%<-------------- Macro principale : détermine les dim -----------------------> -%<---------------------------------------------------------------------------> -\newcommand*{\tkzTabInit}[3][]{% - \setkeys[TAB]{tbs}{#1} - \setcounter{tkz@cnt@line}{1} - \setcounter{tkz@cnt@lgnext}{0} - \setcounter{tkz@cnt@clnext}{0} - \setcounter{tkz@cnt@aw}{0} - \setcounter{tkz@cnt@lg}{0} - \setcounter{tkz@cnt@cl}{0} - \setcounter{tkz@cnt@pred}{0} - \setcounter{tkz@cnt@temp}{0} - \setcounter{tkz@cnt@arrow}{0} - \setcounter{tkz@cnt@zone}{0} - \gdef\tkz@deltaY{0} -%<----------------------- Première colonne ----------------------------------> -\foreach \ligne/\ecart in {#2}{% - \stepcounter{tkz@cnt@lg}% -}% -\stepcounter{tkz@cnt@lg}% -\foreach \colonne in {#3}{% - \stepcounter{tkz@cnt@cl}% -}% -\addtocounter{tkz@cnt@cl}{-1}% -\let\tkz@nbinterv\thetkz@cnt@cl -\addtocounter{tkz@cnt@lg}{-1}% -\xdef\maxtkz@cnt@lg{\thetkz@cnt@lg}% -\xdef\tkz@maxcl{\thetkz@cnt@cl}% -\pgfmathparse{\cmdTAB@tbs@lgt+2*\cmdTAB@tbs@deltacl+\cmdTAB@tbs@espcl*\tkz@nbinterv}% -\global\let\tkz@lgttab\pgfmathresult -\global\let\tkz@lgttab\tkz@lgttab -\coordinate(T00) at (0,0); -\coordinate(T10) at (\cmdTAB@tbs@lgt,0); -\coordinate(T20) at (\tkz@lgttab,0); -\setcounter{tkz@cnt@lg}{0}% -\foreach \ligne/\tkz@deltaH in {#2}{% - \setcounter{tkz@cnt@cl}{0}% - \foreach \x in {#3}{% - \pgfmathmultiply{\cmdTAB@tbs@espcl}{\value{tkz@cnt@cl}}% - \global\let\ecartcl\pgfmathresult - \pgfmathparse{\cmdTAB@tbs@lgt+\cmdTAB@tbs@deltacl+\ecartcl}% - \global\let\tkz@ddx\pgfmathresult - \stepcounter{tkz@cnt@cl}% - \coordinate(N\thetkz@cnt@cl 0) at (\tkz@ddx,-\tkz@deltaY);}}% -\foreach \m in {1,...,\tkz@maxcl}{% - \setcounter{tkz@cnt@clnext}{\m}% - \stepcounter{tkz@cnt@clnext}% - \path (N\m 0)--(N\thetkz@cnt@clnext 0) coordinate[midway](M\m 0);}% -\setcounter{tkz@cnt@cl}{0}% -\setcounter{tkz@cnt@lg}{0}% -\foreach \ligne/\tkz@deltaH in {#2}{% - \stepcounter{tkz@cnt@lg}% - \pgfmathadd{\tkz@deltaY}{\tkz@deltaH}% - \global\let\tkz@deltaY\pgfmathresult - \coordinate(T0\thetkz@cnt@lg) at (0,-\tkz@deltaY); - \coordinate(T1\thetkz@cnt@lg) at (\cmdTAB@tbs@lgt,-\tkz@deltaY); - \coordinate(T2\thetkz@cnt@lg) at (\tkz@lgttab,-\tkz@deltaY); - \setcounter{tkz@cnt@cl}{0}% - \foreach \x in {#3}{% - \pgfmathparse{\cmdTAB@tbs@lgt+\cmdTAB@tbs@deltacl+% - \cmdTAB@tbs@espcl*\thetkz@cnt@cl}% - \global\let\tkz@ddx\pgfmathresult - \stepcounter{tkz@cnt@cl}% - \coordinate(N\number\value{tkz@cnt@cl}% - \number\value{tkz@cnt@lg})% - at (\tkz@ddx,-\tkz@deltaY); - }% - \foreach \m in {1,...,\tkz@maxcl}{% - \setcounter{tkz@cnt@clnext}{\m}% - \stepcounter{tkz@cnt@clnext}% - \path (N\m\number\value{tkz@cnt@lg})--% - (N\thetkz@cnt@clnext\number\value{tkz@cnt@lg})% - coordinate[midway](M\m\number\value{tkz@cnt@lg}); - \ifTAB@tbs@help% - \draw[fill=green!30!black] (M\m\number\value{tkz@cnt@lg}) circle(2pt)% - node[below right,green!30!black] {% - \footnotesize M\m\number\value{tkz@cnt@lg}}; - \fi - }% - \pgfmathdivide{\cmdTAB@tbs@lgt}{2}% - \global\let\tkz@tab@dx\pgfmathresult - \pgfmathdivide{\tkz@deltaH}{2}% - \global\let\tkz@halfdeltaH\pgfmathresult - \pgfmathsubtract{\tkz@halfdeltaH}{\tkz@deltaY}% - \global\let\tkz@tab@dy\pgfmathresult - \setcounter{tkz@cnt@temp}{\thetkz@cnt@lg}% - \addtocounter{tkz@cnt@temp}{-1}% - \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}} -\ifTAB@tbs@color - \draw[fondC] (T01) rectangle (T1\maxtkz@cnt@lg); - \draw[fondL] (T11) rectangle (T20); - \draw[fondT] (T11) rectangle (T2\maxtkz@cnt@lg); - \draw[fondV] (T00) rectangle (T11); -\fi -%<-------------------Fin Colorisation du fond ------------------------------> -% -%<--------------- Écriture des formules en colonne 1 ---------------------> -\setcounter{tkz@cnt@lg}{-1}% -\pgfmathsubtract{\cmdTAB@tbs@textw}{0.4}% -\xdef\cmdTAB@tbs@textw{\pgfmathresult}% -\foreach \ligne/\tkz@deltaH in {#2}{% -\stepcounter{tkz@cnt@lg}% -\ifTAB@tbs@help% -\node[draw,fill=green!50,inner sep=1pt] at (F\number\value{tkz@cnt@lg}) {\footnotesize F\thetkz@cnt@lg}; -\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----------------> -\ifTAB@tbs@nocadre% -\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}% -\foreach \y in {1,...,\maxtkz@cnt@lg}{\draw[line width = \cmdTAB@tbs@lw] (T0\y) --(T2\y);}% -\else -\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@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@tab@dx cm,\tkz@YF) {\footnotesize L\number\value{tkz@cnt@cl}};% - \else - \node (L\thetkz@cnt@cl) at (\tkz@XF + \tkz@tab@dx cm,\tkz@YF) {\x};% - \fi}% -%<------------------------ help -----------------------------> -\ifTAB@tbs@help% -\foreach \colonne in {0,1,2}{% -\foreach \ligne in {0,...,\maxtkz@cnt@lg}{\draw (T\colonne\ligne)% - node[draw,fill=red!50,inner sep=1pt] {\textbf{\footnotesize T\colonne\ligne}};}}% -\setcounter{tkz@cnt@temp}{\tkz@maxcl} -\stepcounter{tkz@cnt@temp} -\xdef\tkz@maxcl{\thetkz@cnt@temp}% -\foreach \ligne in {0,...,\maxtkz@cnt@lg} -{\foreach \colonne in {1,...,\tkz@maxcl}{% - \draw[fill=red] (N\colonne\ligne) circle(2pt)% - node[above right,red,inner sep=1pt] {\footnotesize N\colonne\ligne};}}% -\fi -}% fin de tkzTabInit -%<---------------------------------------------------------------------------> -%<--------------------- Ligne de Signes -------------------------------------> -%<----------------------- tkzTabLine -----------------------------------> -\newcommand*\stripspaces[1]{% - \strip@spaces{#1}} -\newcommand\strip@spaces{\renewcommand\strip@spaces[1]}% -\expandafter\strip@spaces{% - \@firstofone{\expandafter\strip@lastspace\@firstofone #1\@nil} -\@nil\@@nil} -\@ifdefinable\strip@lastspace{% - \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}% - \stepcounter{tkz@cnt@line}% - \setcounter{tkz@cnt@lgnext}{\thetkz@cnt@line}% - \setcounter{tkz@cnt@cl}{1}% - \setcounter{tkz@cnt@pair}{1}% - \setcounter{tkz@cnt@impair}{1}% - \ifTAB@TL@help% - \foreach \x in {#2} - {% - \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}% - (N\thetkz@cnt@impair\thetkz@cnt@lgnext); - \stepcounter{tkz@cnt@impair}}{% - \path (M\thetkz@cnt@pair\thetkz@cnt@lg)--% - node[draw,inner sep =1pt,midway,fill=yellow] {% - \footnotesize S\thetkz@cnt@pair\thetkz@cnt@lg}% - (M\thetkz@cnt@pair\thetkz@cnt@lgnext); - \stepcounter{tkz@cnt@pair}}% - \stepcounter{tkz@cnt@cl}% - }% - \else - \ifTAB@tbs@color% - \draw(T1\thetkz@cnt@lg) rectangle (T2\thetkz@cnt@line);% - \fi - \foreach \x in {#2} - {% - \ifthenelse{\isodd{\value{tkz@cnt@cl}}}{% - \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}}{% - \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}}{}}{% - }{% - \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);}{% - \ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{d}}{% - \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); - \node at (Z\thetkz@cnt@impair\thetkz@cnt@lg){$\x$}; - }% - }}}\stepcounter{tkz@cnt@impair}% - }{% - \path (M\thetkz@cnt@pair\thetkz@cnt@lg)--% - coordinate[midway](S\thetkz@cnt@pair\thetkz@cnt@lg)% - (M\thetkz@cnt@pair\thetkz@cnt@lgnext);% - \ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{h}}{% - \setcounter{tkz@cnt@clnext}{\thetkz@cnt@pair}% - \stepcounter{tkz@cnt@clnext}% - \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% - ([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}% - }% - \stepcounter{tkz@cnt@cl}% - }% end foreach - \fi -}% -%<---------------------------------------------------------------------------> -%<---------------------------- Variations -------------------------------> -%<---------------------------------------------------------------------------> -%<----------------------- Macro pour tracer une flèche ----------------------> -%<---------------------------------------------------------------------------> -\newcommand*{\tkzDrawArrow}{% -\ifthenelse{\equal{\thetkz@cnt@zone}{0}}{% - \setcounter{tkz@cnt@pred}{\thetkz@cnt@cl} - \addtocounter{tkz@cnt@pred}{-1} - \ifthenelse{\thetkz@cnt@temp>0}{% - \addtocounter{tkz@cnt@pred}{-\thetkz@cnt@temp}% - \setcounter{tkz@cnt@temp}{0}}{}% - \ifTAB@VA@help% - \draw[fill=orange] (FR\thetkz@cnt@pred\thetkz@cnt@lg) circle(2pt)% - node[right,orange] {\footnotesize FR\thetkz@cnt@pred\thetkz@cnt@lg}; - \draw[fill=orange] (FL\thetkz@cnt@cl\thetkz@cnt@lg)circle(2pt)% - node[left,orange] {\footnotesize FL\thetkz@cnt@cl\thetkz@cnt@lg}; - \else - \draw[arrow style] (FR\thetkz@cnt@pred\thetkz@cnt@lg) to% - (FL\thetkz@cnt@cl\thetkz@cnt@lg);% - \fi - }{% - \setcounter{tkz@cnt@zone}{0}% - }% -}% -%<---------------------------------------------------------------------------> -\define@boolkey[TAB]{VA}{help}[true]{} -\define@cmdkey[TAB]{VA}{color}{} -\presetkeys[TAB]{VA}{color = \tkzTabDefaultWritingColor, - help = false}{} -%<---------------------------------------------------------------------------> -\newcommand*{\tkzTabVar}[2][]{% -\setkeys[TAB]{VA}{#1}% -\setcounter{tkz@cnt@lg}{\thetkz@cnt@line}% -\stepcounter{tkz@cnt@line}% -\setcounter{tkz@cnt@lgnext}{\thetkz@cnt@line}% -\begin{scope} -\tikzset{every node/.style={inner sep =3pt}}% -\setcounter{tkz@cnt@cl}{0}% -\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% -%<----------------- Lecture des données et création des nodes ---------------> -\foreach \x/\tl/\tr in {#2} -{\stepcounter{tkz@cnt@aw}\stepcounter{tkz@cnt@cl}% -%<------------------------------------------------------------------- D- ----> -\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{D-}}% -{\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 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]% - ([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}% -} -%<------------------------------------------------------------------- +D ----> -{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+D}}% -{\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] (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]% - ([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}% -} -%<------------------------------------------------------------------ -D -----> -{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-D}}% -{\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};% - \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}% -}% -%<------------------------------------------------------------------ -C -----> -{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-C}}% -{\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};% - \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}% -}% -%<------------------------------------------------------------------- + ----> -{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+}}% -{\node[node style,high] (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] (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}% -} -%<---------------------------------------------------------------- +V+ ----> -{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+V+}}% -{\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,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}% -}% -%<--------------------------------------------------------------- -V- ----> -{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-V-}}% -{\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}% -}% -%<-------------------------------------------------------------- -V+ ----> -{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-V+}}% -{\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}% -} -%<---------------------------------------------------------------- +V- ----> -{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+V-}}% -{\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}% -} -%<------------------------------------------------------------------- - ----> -{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-}}% -{\node[node style,low] (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] (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}% -}% -%<------------------------------------------------------------------ -D+ ----> -{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-D+}}% -{\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}% -} -%<------------------------------------------------------------------ +D- ----> -{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+D-}}% -{\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] (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}% -} -%<----------------------------------------------------------------- -CD+ ----> -{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-CD+}}% -{\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}; - \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}% -} -%<----------------------------------------------------------------- -CD- ----> -{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-CD-}}% -{\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}; - \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}% -} -%<----------------------------------------------------------------- +CD- ----> -{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+CD-}}% -{\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,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}% -} -%<----------------------------------------------------------------- -DC+ ----> -{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-DC+}}% -{\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,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[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}% -}% -%<----------------------------------------------------------------- -DC- ----> -{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-DC-}}% -{\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,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}% -}% -%<----------------------------------------------------------------- +DC+ ----> -{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+DC+}}% -{\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,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}% -}% -%<------------------------------------------------------------------ +D+ ----> -{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+D+}}% -{\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,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[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}% -}% -%<------------------------------------------------------------------ R ------> -{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{R}}% -{\stepcounter{tkz@cnt@temp}% -}% -%<------------------------------------------------------------------ +DH ----> -{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+DH}}% -{\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] (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} - \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]% - ([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}% - \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} -\fill[h style]% -(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,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}% - \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} - \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};% -\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} - \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}; -\ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}\stepcounter{tkz@cnt@zone}% -}{}% non prévu -}}}}}}}}}}}}}}}}}}}}}}}}}}}}}% -\stepcounter{tkz@cnt@arrow}}% end de la boucle -%<-------------------------------------------------- Tracé des flèches ------> -\end{scope}% -}% fin de la macro variation -%<---------------------------------------------------------------------------> -%<------------------------- 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}% -\addtocounter{tkz@cnt@lg}{-1}% -\pgfextractx{\tkz@XF}{\pgfpointanchor{L#2}{center}} -\pgfextracty{\tkz@YF}{\pgfpointanchor{L#2}{center}} -\pgfmathparse{\cmdTAB@tbs@espcl * (#4)*(#3-#2)}% -\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}; -\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, - remember= lastval}{} -\newcommand*{\tkzTabIma}[5][]{% -\setkeys[TAB]{IM}{#1}% -\setcounter{tkz@cnt@lg}{\thetkz@cnt@line}% -\addtocounter{tkz@cnt@lg}{-1}% -\setcounter{tkz@cnt@lgnext}{\thetkz@cnt@line}% -\path (intersection cs: - first line = {(FR#2\thetkz@cnt@lg)--(FL#3\thetkz@cnt@lg)},% - second line = {(N#4\thetkz@cnt@lg) --(N#4\thetkz@cnt@lgnext)}) node[node style,fondT](IMA){#5}; - \path coordinate (\cmdTAB@IM@remember) at (IMA); -\ifTAB@IM@draw% - \draw[from style] (N#41) to (IMA); -\fi -}% -%<---------------------------------------------------------------------------> -%<---------------------------------------------------------------------------> -\newcommand*{\tkzTabImaFrom}[5][]{% -\setkeys[TAB]{IM}{#1}% -\setcounter{tkz@cnt@lg}{\thetkz@cnt@line}% -\addtocounter{tkz@cnt@lg}{-1}% -\path (intersection cs:% - first line = {(FR#2\thetkz@cnt@lg)--(FL#3\thetkz@cnt@lg)},% - 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); -\fi -}% -%<---------------------------------------------------------------------------> -%<---------------------------------------------------------------------------> -%<---------------------- tangente horizontale -----------------------------> -% args 1--> options ; -% 2--> tkz@cnt@cl debut fl ; -% 3--> tkz@cnt@clnext fin de fl ;% -% 4---> n°de val ; -% 5----> image -\define@cmdkey [TAB] {TA} {pos}[below]{} -\define@cmdkey [TAB] {TA} {color}{} -\define@boolkey[TAB] {TA} {draw}[true]{} -\define@cmdkey [TAB] {TA} {remember}{} -\presetkeys [TAB] {TA} {draw = false, - color = \tkzTabDefaultWritingColor, - pos = above, - remember = lastval}{} -%<---------------------------------------------------------------------------> -\newcommand*{\tkzTabTan}[5][]{% -\setkeys[TAB]{TA}{#1}% -\setcounter{tkz@cnt@lg}{\thetkz@cnt@line}% -\addtocounter{tkz@cnt@lg}{-1}% -\setcounter{tkz@cnt@lgnext}{\thetkz@cnt@line}% -\path (intersection cs: - first line = {(FR#2\thetkz@cnt@lg)--(FL#3\thetkz@cnt@lg)},% - second line = {(N#4\thetkz@cnt@lg) --(N#4\thetkz@cnt@lgnext)}) coordinate(tgt); -\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[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}% - \addtocounter{tkz@cnt@lg}{-1}% - \setcounter{tkz@cnt@lgnext}{\thetkz@cnt@line}% - \path (intersection cs: - first line = {(FR#2\thetkz@cnt@lg)--(FR#3\thetkz@cnt@lg)},% - second line = {(#4) --([yshift=-0.5 cm]#4)}) coordinate(tgt); - \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); - \ifTAB@TA@draw \draw[from style] (#4) -- (tgt); \fi -}% -%<---------------------------------------------------------------------------> -%<---------------------- 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 ------------------------------------> -\endinput - |